gpt4 book ai didi

mysql 检查日期是否大于 0000-00-00

转载 作者:行者123 更新时间:2023-11-29 02:12:51 26 4
gpt4 key购买 nike

我希望我的 orderedDate 列(使用日期类型)不允许 null 或 0000-00-00

我已经将 orderedDate 列设置为不为空,但是当使用 insert into 时

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。

最佳答案

MySQL 不支持 CHECK 约束。它会解析它们,因此不会引发错误,但不会保存或强制执行它们。

如果您启用 NO_ZERO_DATE SQL 模式,如果您使用 0000-00-00,MySQL 会给出警告,而不是错误。

如果您启用 NO_ZERO_DATE 模式严格模式,则会报错。

此模式是 MySQL 5.7 开始的默认模式。

更多信息:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

关于mysql 检查日期是否大于 0000-00-00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47124747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com