1

私はクエリを持っています:

SELECT * FROM MY TABLE WHERE END_TIME BETWEEN ? AND ?

END_TIMEの場合:

`END_TIME` datetime default NULL,

テーブルを移動すると、このクエリは正しく機能しなくなります。

ENGINE=InnoDB

MyISAM から InnoDB への移行が問題の原因ですか?

4

1 に答える 1

0

さて、データベース エンジンを変更したので、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
于 2013-07-07T09:50:38.977 に答える