SQL复制行到同一个表中的另一行

时间:2016-11-10 18:24:37

标签: mysql sql copy

我需要将所有值从row1复制到row2,现在所有记录都包含"没有倾斜"

我已经尝试过:

UPDATE `table` SET name=@tmp:=name,name=meta_title,meta_title=@tmp WHERE name='No Title';
UPDATE `bb_product_description` SET name = meta_title WHERE meta_title="No  Title"

但只是复制"没有所有人的标题"

请帮帮我

1 个答案:

答案 0 :(得分:1)

您可以使用标准INSERT ... SELECT,如下所示:

INSERT INTO table SELECT * FROM table WHERE meta_title='No Title';

或者更有选择性(没有双关语)...

INSERT INTO table (name, col2, col3...) SELECT meta_title, col2, col3... FROM table WHERE meta_title = 'No Title'

如果我正确理解你的问题,那么应该让你到达你想去的地方。

或者,您可以从上面修复UPDATE语句:

UPDATE `bb_product_description` SET `name` = `meta_title` WHERE `meta_title` = 'No Title'

注意我删除了“无标题”中的额外空格。因为安全而从双引号改为单引号。