Я намагаюся отримати деякі дані з моєї бази даних в mysql. Так що я роблю це:
select * from my_table where "to" ="0000-00-00 00:00:00";
які дають мені порожній набір, але у мене є деякі дані, де стовпчик "to" знаходиться в "0000-00-00 00:00:00"
Другий я спробував це:
select * from my_table where "to" > NOW();
але у мене є така помилка:
ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation ">"
Тому в фіналі те, що я хотів би
select * from my_table where "to" > NOW() or "to" = "0000-00-00 00:00:00";
Так що, якщо я роблю describe my_table;
У мене є :
І якщо я роблю select * from my_table limit 10
У мене є :
Що означає, що у мене є "до" в "0000-00-00 00:00:00"
Відповіді:
2 для відповіді № 1Ваші запитання виглядають так:
select * from my_table where "to" = datestamp
Ви даєте вираз, порівнюючи текстовий рядок "to"
до даного тегу Це робить MySQL роблячи дивні речі і викидаючи помилки.
Спробуйте це
select * from my_table where `to` = datestamp
оточуючи назву вашої стовпці із заставками.
Ще краще, не використовуйте SQL-слова типу to
, from
, where
, і так далі для імен стовпців.