在mysql数据插入时,遇到了以下问题。这里的电子邮件字段不能为空。在执行以下查询时(查询1 & 2),我们期待错误。但查询1给出错误,查询2给出成功。Mysql多重插入查询
表结构法
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1
查询1:
INSERT INTO `users` (`id`, `name`, `email`) VALUES (NULL, 'manu', NULL);
结果: - #1048 - 柱 '电子邮件' 不能为空
问题2:
INSERT INTO `users` (`id`, `name`, `email`)
VALUES (NULL, 'manu', NULL),(NULL, 'Jose', NULL);
结果:插入-2行。
有没有在查询中的任何错误?任何想法将不胜感激。
此行为是不是在SQL提琴重复性。第二个查询生成与第一个相同的错误。 – 2015-03-02 13:20:27
如果使用完全相同的结构创建一个名为“users2”的新表并尝试再次运行查询,会发生什么情况?在运行每个查询之后,查看表中有哪些数据结束会很有趣。我看不出为什么两个查询都不会失败。 – thirtyish 2015-03-02 13:23:04
@GordonLinoff,我们在服务器版本中得到了这个:5.5.37-0ubuntu0.12.04.1-log(Ubuntu) – 2015-03-02 13:28:52