如何在同一个数据库中将值从一行复制到另一行?

时间:2018-01-02 23:26:33

标签: mysql sql rows

我正在管理一个有两个表的数据库,用于"体验"值。我正在尝试将值从第一个体验表复制到第二个体验表,但查询不会通过。这是我到目前为止所得到的。

表格
- mob_db_re //目标表
- mob_db //来源表

查询语法:

UPDATE mob_db_re  
INNER JOIN mob_db ON mob_db.EXP = mob_db_re.EXP  
SET mob_db_re.EXP = mob_db.EXP  

2 个答案:

答案 0 :(得分:0)

如果要将所有行从一个表复制到另一个表,请尝试使用SELECT INTO语句:

SELECT *
INTO mob_db_re
FROM mob_db;

如果表具有相同的模式,这将起作用,否则您将必须指定列。

答案 1 :(得分:0)

使用此功能将一个表复制到另一个表

  1. 如果他们有相同的架构,请使用此

    INSERT INTO mob_db_re (SELECT * FROM mob_db)

  2. 如果他们没有相同的架构,请使用此

    INSERT INTO mob_db_re (column1, column2, column3, ...)
    SELECT column1, column2, column3, ... FROM mob_db
    
  3. 如果需要,您还可以将WHERE条件添加到上面的SELECT语句中。

    出于某种原因,如果您需要更新而不是插入,请使用此

    UPDATE mob_db_re 
    SET re.EXP= db.EXP
    FROM mob_db_re re
    INNER JOIN mob_db db
    ON re.EXP= db.EXP;