INSERT IF NOT EXISTS 类型函数供我在不将列转换为主键的情况下使用?

Posted

技术标签:

【中文标题】INSERT IF NOT EXISTS 类型函数供我在不将列转换为主键的情况下使用?【英文标题】:INSERT IF NOT EXISTS type function for me to use without turning the column into primary key? 【发布时间】:2009-10-28 04:34:40 【问题描述】:

我正在编写的这个脚本是使用 python 的 urllib2 模块从 Web 获取数据,然后将其放入表中。这些数据基本上只是在一个一列一行的表中。我如何拥有它,以便在我运行脚本时它只更新记录?我不想让它成为主键,因为我以后可能会添加更多列,而主键可能不会是这个列。

似乎有三种方法可以做到这一点。忽略、替换、重复密钥更新。我试过 IGNORE 和 REPLACE 但他们最终还是创造了一个新记录。我认为这是因为该列必须是主键。我知道 ON DUPLICATE KEY UPDATE 要求您将该列设为主键。有什么方法可以在不设置列主键的情况下做到这一点?

【问题讨论】:

【参考方案1】:

您可以在具有唯一索引的任何列上使用“ON DUPLICATE KEY UPDATE”,而不仅仅是主键列。

【讨论】:

以上是关于INSERT IF NOT EXISTS 类型函数供我在不将列转换为主键的情况下使用?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL PDO INSERT ... SELECT IF 语句不起作用

Search Insert Position

Search Insert Position

TypeError: ‘Collection‘ object is not callable. If you meant to call the ‘insert‘ method on a ‘Datab

leetcode-35 search-insert-position(搜索插入位置)

数据库insert语句