我有一个带有单个主键(称为pkey)的自动递增的Mysql表,我想克隆一行,保持所有数据相同,除了主键成为由自动增量定义的下一个可用值。有主键的Mysql克隆行
我的第一个问题是,下列查询可能吗?
UPDATE `table` SET pkey='next_available_primary_key' WHERE pkey='old_primary_key'
如果试图
UPDATE `table` SET pkey=null WHERE pkey='old_primary_key'
但只设置主键到零值。提前感谢任何帮助/建议。
UPDATE:
我想我应该补充一点,我真的不希望在表中的数据的两个副本。我只是想改变主键。所以,如果我是使用INSERT SELECT我将不得不使用对重复密钥更新PKEY补偿=“next_available_primary_key”我只是不知道如何做到这一点...
出于好奇:什么是你的目标?因为您可能会滥用主键来实现某些目标(如订购数据),而不是其目的。 – 2010-01-18 04:09:57