是否有在MySQL重复键删除记录的方式吗?
假设我们有与特定主键数据库中的记录,我们尝试添加使用相同的密钥另一个- ON DUPLICATE KEY UPDATE
只会更新记录,但如果有已经存在删除记录的选项? 这是一个按钮的点击简单的输入/输出功能。
是否有在MySQL重复键删除记录的方式吗?
假设我们有与特定主键数据库中的记录,我们尝试添加使用相同的密钥另一个- ON DUPLICATE KEY UPDATE
只会更新记录,但如果有已经存在删除记录的选项? 这是一个按钮的点击简单的输入/输出功能。
这是一个变通办法,但它的工作原理:
创建一个新的列,并调用它do_delete
,或什么的,使其成为一个微小的-INT。 然后做On Duplicate Key Update do_delete = 1;
根据您的MySQL版本/连接上,就可以在同一个语句执行多个查询。 然而,如果没有,只是运行一个单独的查询立即后记。 无论哪种方式,下一个查询将只是: Delete From [table] Where do_delete = 1;
。 这样,如果它的一个新的条目,它不会删除任何东西。 如果它不是一个新的项目,它将然后将其标记为删除,那么你可以将其删除。
使用REPLACE INTO :
replace into some_table
select somecolumn from othertable
要么插入新的数据,或者是否存在THR相同的数据将删除数据,并插入一个新
对于相同的最近的可能的解决方案是REPLACE
语句。 下面是用于替换文件 。
类似的问题,有人问MySQL的论坛和建议(只)的答案是使用REPLACE
。
是的,当然还有MySQL中的解决方案,为您的问题。
如果你想删除或跳过插入新记录,如果已经存在重复记录在表中的键列存在,您可以用忽略这样的:
insert ignore into mytbl(id,name) values(6,'ron'),(7,'son');
这里id
列是表的主键mytbl
。 这将通过删除或跳过新的重复记录插入表中的多个值。
希望这将满足您的要求。