MySQL:主键出现重复更新时插入问题
我正在运行以下查询。。。我遇到的问题是,它将MySQL:主键出现重复更新时插入问题,mysql,Mysql,我正在运行以下查询。。。我遇到的问题是,它将id字段正确地保存为第0-27行,但随后尝试复制第0行。有没有想过为什么要复制第0行 INSERT INTO deal (`id`, `site_id`) VALUES (NULL, 1) ON DUPLICATE KEY UPDATE `id` = NULL,`site_id` = 1 MySQL中的主键不能为NULL,因此您的updateid=NULL被强制转换为updateid=0 另请参见:中的: 您还可以显式
id
字段正确地保存为第0-27行,但随后尝试复制第0行。有没有想过为什么要复制第0行
INSERT INTO
deal (`id`, `site_id`)
VALUES (NULL, 1)
ON DUPLICATE KEY UPDATE `id` = NULL,`site_id` = 1
MySQL中的主键不能为NULL,因此您的
updateid=NULL
被强制转换为updateid=0
另请参见:中的:
您还可以显式地为列指定NULL或0以生成序列号
因此,有效地,输入
(0,'whatever')
被视为('next autoincrement id','whatever')
。就MySQL而言,没有重复的关键问题。您可以通过使用绕过此选项。请注意,不建议使用0
作为标识符。什么是交易表?查询的目的是什么?站点id是否唯一?如果不是,重复键上的有什么意义?每次插入都会得到一个新id。