0

我正在使用 mysql 查询浏览器,因为我为一列设置了非空和默认值,但是在保存它时没有考虑默认值,它显示错误,因为列不应该为空。如何解决这个问题请帮助我

4

1 回答 1

0

如果在INSERT语句中显式指定值为 的列NULL,则不考虑默认值。

例如,在以下查询中,即使 column 存在默认值foo,引擎也会忽略它并尝试插入 a NULL

INSERT INTO myTable(foo, bar) VALUES(NULL, 2);

从您的声明中完全省略该列INSERT(推荐):

INSERT INTO myTable(bar) VALUES(2);

或者您可以使用BEFORE INSERT触发器来捕获该NULL值并将其替换为您想要的值。

于 2013-03-12T13:36:14.080 回答