栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

复制行但使用新ID

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

复制行但使用新ID

假设您的表格包含以下字段:

( pk_id int not null auto_increment primary key,  col1 int,  col2 varchar(10))

然后,要将具有新键值的值从一行复制到另一行,以下查询可能会有所帮助

insert into my_table( col1, col2 ) select col1, col2 from my_table where pk_id=?;

这将产生一个新的价值

pk_id
领域和值复制
col1
,并
col2
选定行的。

您可以扩展此示例以在表中申请更多字段。

更新
在适当尊重JohnP和Martin的意见 -

我们可以使用临时表首先从主表缓冲,然后使用它再次复制到主表。仅更新临时表中的pk参考字段将无济于事,因为它可能已存在于主表中。相反,我们可以从临时表中删除pk字段,并将所有其他字段复制到主表中。

参考Tim
Ruehsen
在相关帖子中的回答:

CREATE TEMPORARY TABLE tmp SELECt * from my_table WHERe ...;ALTER TABLE tmp drop pk_id; # drop autoincrement field# UPDATE tmp SET ...; # just needed to change other unique keysINSERT INTO my_table SELECT 0,tmp.* FROM tmp;DROP TEMPORARY TABLE tmp;

希望这可以帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号