我可以在MySQL触发器中使用“插入不存在的位置”来避免插入重复记录吗?
我可以使用INSERT INTO WHERE NOT EXISTS in MySQL触发器来避免插入重复记录,例如-我可以在MySQL触发器中使用“插入不存在的位置”来避免插入重复记录吗?,mysql,sql,triggers,insert,duplicates,Mysql,Sql,Triggers,Insert,Duplicates,我可以使用INSERT INTO WHERE NOT EXISTS in MySQL触发器来避免插入重复记录,例如- INSERT INTO `user` (`id`, `name`) VALUES (1, 'John') WHERE NOT EXISTS (SELECT * FROM `user` WHERE `id` = 1); 当我在MySQL触发器中使用这句话时,我得到一个错误提示,无法创建触发器 错误代码:1064 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了
INSERT INTO `user` (`id`, `name`) VALUES (1, 'John') WHERE NOT EXISTS (SELECT * FROM `user` WHERE `id` = 1);
当我在MySQL触发器中使用这句话时,我得到一个错误提示,无法创建触发器
错误代码:1064
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第6行“WHERE NOT EXISTS SELECT*FROM user WHERE id=1”附近使用的正确语法,您可以使用忽略:
如果行已存在,则不会插入或抛出错误
您必须知道它基于表的键,才能知道它是否重复。您可以使用“忽略”:
如果行已存在,则不会插入或抛出错误
您必须知道它基于表的键,才能知道它是否重复。试试这个
在'user``id`、`name'中插入`
从不存在的dual中选择1,从'user'中选择1,其中'id`=1
在'user``id`、`name'中插入`
从不存在的dual中选择1,'John'从'user'中选择1,其中'id`=1非常感谢!它完美地解决了我的问题。非常感谢!它完美地解决了我的问题。非常感谢!这也是解决我问题的好方法。非常感谢!这也是解决我问题的好办法。
INSERT IGNORE `user` (`id`, `name`) VALUES (1, 'John')