如何将基于一列内容的一组行复制到同一个表中,并将复制行中条件列的内容更改为其他内容。
select x, y, z from table A where z="B" ...
copy into table A with incremented IDs ...
和 在新的重复行中更改 z="C"
编辑: 我可以执行以下操作(它会起作用吗?)- 主索引键是自动递增的
INSERT INTO table A (x, y, z) SELECT x, y, z FROM table A WHERE z="B";
但是如何同时将新的重复行中的 z="B"更改为 z="C"?
请编辑/改进我的尝试。谢谢。
最佳答案
你可以使用联合:
SELECT x,y
CASE z
WHEN 'B' then 'C' else z
END
FROM A
ORDER By id
union
SELECT x,yz
FROM A
ORDER By id
关于mysql - 如何将mysql表中某列内容选中的一组行复制到同一张表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833827/