MySQL避免插入重複記錄:唯一性約束
阿新 • • 發佈:2018-11-16
表結構
CREATE TABLE `t3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` int(11) NOT NULL,
`c2` varchar(20) DEFAULT NULL,
`c3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `c1` (`c1`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=latin1;
插入測試
表中資料
sql
insert ignore into t3 (c1,c2,c3) values(100,'cc',4),(6,'dd',5);
結果
[SQL] insert ignore into t3 (c1,c2,c3) values(100,'cc',4),(6,'dd',5);
受影響的行: 1
時間: 0.078s
如果把 ignore 刪除,
sql
insert into t3 (c1,c2,c3) values(100,'cc',4),(6,'dd',5);
結果
[SQL] insert into t3 (c1,c2,c3) values(100,'cc',4),(6,'dd',5);
[Err] 1062 - Duplicate entry '100' for key 'c1'