首页 > 解决方案 > 如果数据库中不存在则插入行

问题描述

您好,我怎样才能插入不重复的 uniq 行。

cursor.execute("CREATE TABLE IF NOT EXISTS tab1 (id varchar(36) primary key, cap1 VARCHAR(4), cap2 varchar(55), cap3 int(6), Version VARCHAR(4));")
id = uuid.uuid1()
id = str(id)
cursor.execute("INSERT IGNORE INTO tab1 (id, cap1, cap2, cap3, Version) VALUES (%s, %s, %s, %s, %s )", (vals))

标题标签1

我不应该插入第三行,而与第一行相同。希望我很清楚。先感谢您,

标签: pythonmysqlmariadb

解决方案


问题是它uuid()总是会给出一个唯一的标识符,因为id它是一个主键,所以插入的行带有重复的值,除了 id 列总是不同的。

我认为此链接可能会回答您的问题,或者在您希望唯一的列上创建唯一索引。

让我知道它是否有帮助!


推荐阅读