私はクエリを持っています:
SELECT * FROM MY TABLE WHERE END_TIME BETWEEN ? AND ?
END_TIMEの場合:
`END_TIME` datetime default NULL,
テーブルを移動すると、このクエリは正しく機能しなくなります。
ENGINE=InnoDB
MyISAM から InnoDB への移行が問題の原因ですか?
私はクエリを持っています:
SELECT * FROM MY TABLE WHERE END_TIME BETWEEN ? AND ?
END_TIMEの場合:
`END_TIME` datetime default NULL,
テーブルを移動すると、このクエリは正しく機能しなくなります。
ENGINE=InnoDB
MyISAM から InnoDB への移行が問題の原因ですか?
さて、データベース エンジンを変更したので、null は別の方法で処理されるようになりました。
SELECT * FROM MY TABLE WHERE END_TIME BETWEEN '2013-01-01 AND ?
有効なクエリ
SELECT * FROM MY TABLE WHERE END_TIME BETWEEN '2013-01-01' AND null
常に0行を返します
クエリを次のように書き換えます
SELECT * FROM MY TABLE WHERE END_TIME BETWEEN ? AND now()
また
SELECT * FROM MY TABLE WHERE END_TIME >=0