我有一个带有单个主键(称为pkey)的Mysql表,它自动递增,我想克隆一行,保持所有数据相同,除了主键应该成为auto定义的下一个可用值增量.
我的第一个问题是,以下查询是否可能?
UPDATE `table` SET pkey='next_available_primary_key' WHERE pkey='old_primary_key'
Run Code Online (Sandbox Code Playgroud)
如果尝试过
UPDATE `table` SET pkey=null WHERE pkey='old_primary_key'
Run Code Online (Sandbox Code Playgroud)
但它只将主键的值设置为零.提前感谢您的任何帮助/建议.
更新:
我想我应该补充说,我真的不想要表中的两个数据副本.我只想更改主键.因此,如果我使用INSERT SELECT,我将不得不使用ON DUPLICATE KEY UPDATE补偿pkey ='next_available_primary_key'我只是不确定如何做到这一点......