Snažím sa získať niektoré údaje z databázy v MySQL. Takže to, čo robím, je:
select * from my_table where "to" ="0000-00-00 00:00:00";
ktoré mi dávajú prázdny súbor, ale mám nejaké údaje, kde stĺpec "to" je na "0000-00-00 00:00:00"
za druhé som to skúsil:
select * from my_table where "to" > NOW();
ale mám nasledujúcu chybu:
ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation ">"
Takže vo finále by som chcel
select * from my_table where "to" > NOW() or "to" = "0000-00-00 00:00:00";
Takže ak áno describe my_table;
Mám :
A ak áno select * from my_table limit 10
Mám :
To znamená, že mám nejaké "to" na "0000-00-00 00:00:00"
odpovede:
2 pre odpoveď č. 1Vaše dopyty vyzerajú takto:
select * from my_table where "to" = datestamp
Uvádzate výraz porovnávajúci textový reťazec "to"
do dátumu. To robí MySQL robiť zvláštne veci a hodiť chyby.
Skúste toto
select * from my_table where `to` = datestamp
obklopujúci názov stĺpca s pätkami.
Ešte lepšie, nepoužívajte slová typu SQL to
, from
, where
, a tak ďalej pre názvy stĺpcov.