如何复制一行更改一列的ANY表

rav*_*ven 5 sql copy row

我需要复制一行来改变PK.每个客户端安装中的表可以不同,因此我不能只列举列.我设法做了以下事情:

INSERT INTO table SELECT * FROM table WHERE PK='value'
Run Code Online (Sandbox Code Playgroud)

但显然它失败了,因为我试图复制PK.

然后我尝试了:

INSERT INTO table SELECT 'newValue' AS PK, * FROM table WHERE PK='value'
Run Code Online (Sandbox Code Playgroud)

它也失败了,因为列名不匹配.

我知道PK将永远是第一列,但我不确定它有多大用处.

那么......这可能吗?任何的想法?

Tho*_*mas 7

唯一的解决方案是通过查询列列表并排除标识列来动态构建查询(这就是我假设您希望跳过PK的原因).