我有一个问题
INSERT INTO support_users VALUES("1",,"2","1","4",,,"2017-05-06 20:24:36");
但是新的 MySQL 没有插入给定的错误错误代码:1064
但是我改成了
INSERT INTO support_users VALUES("1","","2","1","4",,,"2017-05-06 20:24:36"
);
工作
但是以前的MySQL没有这样的问题,请问如何解决。不改变查询
表定义
CREATE TABLE support_users (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`client` int(11) DEFAULT NULL,
`user` int(11) DEFAULT NULL,
`ticket` int(11) DEFAULT NULL,
`scope` int(11) DEFAULT NULL,
`notify` tinyint(1) DEFAULT NULL,
`email` tinyint(1) DEFAULT NULL,
`added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8;
最佳答案
首先,尊重数据类型。如果它的整数不使用引号。
解决问题的正确方法是使用 NULL。所以这适用于任何版本的 MySQL。
INSERT INTO support_users VALUES(1,NULL,2,1,4,NULL,NULL,'2017-05-06 20:24:36');
关于MySQL空值不插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57006345/