在我的 .sql
文件中,有这样一行:
SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `thasil2bi` BEFORE INSERT ON `t_hasil2` FOR EACH ROW BEGIN
set new.c_kode=concat(new.c_kodejudul,new.c_bulan,new.c_tahun);
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;
每次我尝试导入此 .sql
文件时都会出现错误
#1062 - Duplicate entry 'A1.1-1-2015' for key 'PRIMARY'
当我查看文件并搜索 c_kodejudul = 'A1.1'
和 c_bulan=1
以及 c_tahun=2015
的组合时。只有一排有这些组合,仅此而已。我的 sql 文件发生了什么?
最佳答案
请在您的 sql 文件中搜索“A1.1-1-2015”
- 如果找到两次,则删除从 SQL 文件中插入重复项的 SQL 命令。
- 如果找到一次,可能是之前有的时候sql执行不完整,所以去数据库删除所有表,重新执行sql文件
关于mysql - 使用 BEFORE INSERT 触发器导入 sql 文件时出现重复键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29202875/