【发布时间】:2019-08-14 13:39:33
【问题描述】:
虽然我使用的是mysql“插入忽略”语句
在名为 software 的表中插入一行
我想确保我不会插入表中已经存在的软件。
我的表叫软件,我想插入
此表的新软件,但如果它已经存在
存在于表中,我想要跳过插入
我的桌子是这样的:
+----+-----------+
| id | name |
+----+-----------+
| 1 | software1 |
| 2 | software2|
| 3 | software3 |
| 4 | software4 |
| |
+----+-----------+
我使用了“插入忽略”,但它仍然会创建重复的键
MariaDB [db]> insert ignore into software values (5,'software4');
现在我可以看到有一个重复的 software4 键
+----+-----------+
| id | name |
+----+-----------+
| 1 | software1 |
| 2 | software2|
| 3 | software3 |
| 4 | software4 |
| 5 software4
+----+-----------+
虽然我可以在这里看到类似的问题:
mysql insert only if not exists doesn't work
因为我是 mysql 新手,所以对我没有帮助
【问题讨论】:
-
您的表是如何定义的,尤其是在键或(唯一)索引方面?
-
@koren 的答案有帮助吗?
标签: mysql