python - mysql 向表中插入重复值

标签 python mysql sql

我正在尝试使用 python 将值插入到 mysql 表中,我有一些值,但我不考虑是否重复键/非重复键,但我希望插入每个值。

对于我的 mysql 编码,我应该进行哪些更改以插入重复项?

   for name,hobby in p: 
       print name,hobby

   cursor.execute(
   '''INSERT INTO Details (Names, Hobby)
      VALUES (%s, %s)''',
     (name,hobby))

我收到以下错误!

   IntegrityError: (1062, "Duplicate entry 'Leelal' for key 'PRIMARY'")

请帮我把重复的值放到表中!

表架构:

Id | Names | Hobby

有没有办法在列表中出现姓名和爱好时自动递增 Id?

最佳答案

如果表中的属性(列)是主键(或唯一键),它永远不能接受重复项。只要您的主键(可能是 ID)没有重复项,您几乎可以插入重复项例如,

ID   |   Name   |   Hobby  |
1        John       Play
2        John       Play
3        Steve      Running
4        Steve      Running

(确保将主键设置为自动递增。这里是教程:http://www.w3schools.com/sql/sql_autoincrement.asp)。

CREATE TABLE Hobbies
(
ID int NOT NULL AUTO_INCREMENT,
Name varchar(255) NOT NULL,
Hobby varchar(255),
PRIMARY KEY (ID)
)

关于python - mysql 向表中插入重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020219/

相关文章:

python - 在多个文件中进行测试

python - 从 Django 1.4 升级到 1.6 后在管理中保存对象时列出索引超出范围错误

如果多行匹配,MySQL 全文搜索返回 0

sql - Postgresql 选择所选日期和状态之间的数据

python - 获取给定列的第一行值

python - 有没有更 Pythonic 的方法来解决这个问题?

mysql - 显示计数以及 mysql 中的重复行

mysql - 复杂的网络应用多线程测试(不加载)

php - 新添加的列在 phpMyAdmin 中不可见

sql - 使用 sp_rename 重命名 SQL 表有什么好处?