MySQL空值不插入

标签 mysql

我有一个问题

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/

相关文章:

mysql - 按不同年级分组并知道他们是多少年级

mysql - 使用Mysql存储过程从两个表中选择数据

MySQL ERROR 1072 : States Key doesn't exist, 但它确实存在

MySQL - Order by on multiple left join

mysql - 从表中选择具有相同列值但最新日期的行

java - 如果找不到记录,则 SQL 查询调用失败

MySqlException : Table 'dbname.AspNetUsers' doesn't exist

mysql - 在 MySQL 模式中, "AUTO_INCREMENT=3"的含义是什么

php - 使用 Ubuntu mate 的 Apache 和 Mysql

mysql - 我想计算每月请求的休假列的总和