よりも大きければ、私はorderedDate列を設定したnullまたは0000-00-00mysqlのチェック日付が0000-00-00
許可しないように、私のorderedDate列(date型を使用して)をしたいと思いますnullではないが、挿入時に挿入するとき
INSERT INTO Purchase(custName, price)
VALUES('Max Wong', 10.00)
注文日は0000-00-00です。私はこれが他の値が与えられていないときのデフォルト値であると仮定します。
私も
ALTER TABLE Purchase
ADD CHECK (orderedDate > '0000-00-00');
試してみた(またorderedDate> 0000-00-00とorderedDateを> 0)
そして私は
SET mysql_mode = 'NO_ZERO_DATE'
しかし、それを試して読んでうまくいかなかった。
私はオンラインで見ているときにたくさんのPHPの提案を見ましたが、SQLを使用する必要があります。
..私は「標準」日时:あなたのビジネスに先行しても1ですべてゼロの日付を置き換えるために、クエリを実行すると思います。 '1970-01-01'のようにします...そして、その列をデフォルトの' CURRENT_TIMESTAMP'かそれに類するものとしてマークしてください。これが完了したら..単に '日付間の日付(NOW())と日付(1970-01-01)' – Zak
を使うことができます。チェック制約として働くMySQLでトリガーを使う方法:https://stackoverflow.com/questions/9734920/can-a-mysql-trigger-simulate-a-check-constraint –