作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个脚本可以一次获取大约 100 个项目的数据,并使用如下命令将它们插入 MySQL 数据库:
INSERT IGNORE INTO beer(name, type, alcohol_by_volume, description, image_url) VALUES('Bourbon Barrel Porter', 2, '9.1', '', '')
我运行了一次脚本,它向数据库中填充了 100 个条目。但是,我使用相同的 SQL 语法再次运行脚本,收集所有新数据(即没有重复数据),但数据库没有反射(reflect)任何新条目——它是我在脚本的第一次迭代中插入的相同的 100 个条目.
我记录了查询,我可以确认查询正在使用新数据发出请求,因此脚本不收集新数据不是问题。
名称字段是唯一字段,但其他字段都不是。我错过了什么吗?
最佳答案
如果您使用 IGNORE
关键字,则在执行 INSERT
语句时发生的错误将被视为警告。例如,在没有 IGNORE 的情况下,复制表中现有 UNIQUE
索引或 PRIMARY KEY
值的行会导致重复键错误并中止语句。使用 IGNORE
,该行仍未插入,但不会发出错误。
如果没有主键,就不能忽略重复键。您应该始终设置一个主键,所以请这样做 - 如果您想要额外的不应重复的列,请将它们设置为“unique
”。
关于mysql - SQL 查询不使用 INSERT IGNORE INTO 添加新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391868/
我是一名优秀的程序员,十分优秀!