Mysql 插入集合和 select

Mysql insert with set and select

我想将一个条件下的所有记录复制到另一个条件下的新条目中。在这个例子中。我想获取 xxx=987 的所有信息,并将它们与 xxx=123 添加到相同的 table。所以我想复制一些值,但不是全部复制到新记录中。

INSERT table 
SET 
  pid = UPPER(UUID()),
  xxx = 123,
  (col1, col2) = (SELECT val1, val2 
                  FROM table
                  WHERE xxx = 987)

我尝试了很多东西,但没有锻炼。非常感谢任何帮助 最佳内窥镜

您似乎在寻找 INSERT ... SELECT 查询:

INSERT INTO table (pid, xxx, val1, val2)
SELECT UPPER(UUID()), 123, val1, val2
FROM table
WHERE xxx = 987;