我正在使用mysql查询浏览器,因为我为一列设置了非空值和默认值,但保存它时不考虑默认值它显示错误,因为列不应该为空。如何解决这个请帮帮我
答案 0 :(得分:0)
如果您在INSERT
语句中明确指定值为NULL
的列,则不会考虑默认值。
例如,在以下查询中,即使列foo
存在默认值,引擎也会忽略它并尝试插入NULL
:
INSERT INTO myTable(foo, bar) VALUES(NULL, 2);
完全省略INSERT
语句中的列(推荐):
INSERT INTO myTable(bar) VALUES(2);
或者您可以使用BEFORE INSERT
触发器来捕获NULL
值并将其替换为您想要的值。