语句如下:
INSERT INTO analoginput (
aliasname,
description,
NAME,
type,
rtuid
) SELECT
aliasname,
description,
NAME,
type,
rtuid
FROM
analoginput
WHERE
RTUID = 11;
返回的错误:
[Err] 1062 - Duplicate entry '0' for key 'PRIMARY'
其中ID为主键,表中有两条RTUID = 11的值
目的:想要做到复制插入多条数据,然后主键id根据表中最后一行自增。
谢谢各位大神了。
你设置一下主键为自增就可以了,现在的错误是因为没有设置自增,又没有赋值,导致都是0,而产生主键重复的错误。
如果没有数据就重建一下表,AUTO_INCREMENT就是设置主键自增的,参考这个SQL语句:
CREATE TABLE `inStudy` (
`inStudyId` int(11) NOT NULL AUTO_INCREMENT,
`inStudyName` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
`seq` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`inStudyId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
如果有navicat工具,直接修改表结构也可以。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632