mySQL将行复制并粘贴到同一个表的末尾

时间:2018-03-21 01:03:00

标签: mysql sql

我有一个名为users的mysql表,它有一个唯一的id列加上其他列的列表,列表太多了。

是否可以使用id复制特定的行数据,并使用新ID将其添加到表的末尾,而无需列出每个列名?

1 个答案:

答案 0 :(得分:0)

假设id列是自动递增的,您可以通过列出列来执行您想要的操作:

insert into t(. . .)  -- all but id
    select . . .   -- all but id
    from t
    where id = @id;

您可以使用information_schema

获取要列出的列
select group_concat(column_name)
from information_schema.columns
where table_schema = @schema and table_name = @name and
      column_name <> 'id';

您可以将列复制并粘贴到上面的查询中。或者,您甚至可以将值放在变量中,构造SQL语句,然后使用prepare