默认值在phpmyadmin / mysql数据库中不起作用

时间:2016-01-23 20:07:38

标签: mysql sql default

我无法让表格接受“”或“”并使用默认值。它改为插入NULL。

我在直接输入sql窗口中尝试这些命令。

INSERT INTO test01 VALUES ("", now(), "");
INSERT INTO test01 VALUES ('', now(), '');

但两者都只在第3列中给出了NULL。结构设置为非null,默认值为“yes”。 (不带引号)。

以下是该结构的屏幕截图。您可以看到未检查NULL。 http://garryjones.se/extras/so3.png enter image description here

3 个答案:

答案 0 :(得分:2)

默认值仅在插入/更新值时有效。如果您明确地将其设置为空字符串( NOT NULL值相同),那么它将在列中以空字符串结尾。除了上面的代码,你应该完全取消INSERT语句中的列:

INSERT INTO test01 (t1, t2) VALUES ('', now())

答案 1 :(得分:0)

其他已经解释了原因我在这里再添加一点,你也在更新时使用当前时间戳,所以也不需要使用这个列。

$routeParams

答案 2 :(得分:0)

您可以使用DEFAULT关键字:INSERT INTO test01 VALUES ("", now(), DEFAULT);