【问题标题】:MySQL copying a column from another tableMySQL从另一个表中复制一列
【发布时间】:2014-07-03 13:26:55
【问题描述】:

您好,我有两张表,我想将一列从 table1 复制到 table2。

SET @m=0;
SELECT column INTO @m FROM table1;
UPDATE table2 SET column = @m;

基本上,我尝试将 table1 中列的值插入到 table2 的列中。我做错了什么?

LE:我尝试了 INSERT INTO 并最终成功,但它在我想要的行之后插入了值。基本上我所有的行都有值 0,它创建了另一组具有正确值的行。

【问题讨论】:

  • 您的表中还有其他列吗?

标签: mysql sql


【解决方案1】:

语法正确,但在复制时应注意类型...
类型应相互兼容

INSERT INTO table (column)
  SELECT a_column 
  FROM a_table
                       --- optional (multiple) JOINs
                       --- and WHERE
                       --- and GROUP BY      
                       --- any complex SELECT query

【讨论】:

  • 你的意思是兼容吗?
【解决方案2】:

试试这个语法:INSERT INTO table2 (column) SELECT column FROM table1

不需要 VALUES 和括号。

【讨论】:

    【解决方案3】:

    如果您尝试对一行执行此操作,则可以使用存储过程。

    SELECT column INTO myvar FROM table1
    
    INSERT INTO table2 (column) VALUES (myvar)
    

    【讨论】:

      【解决方案4】:

      试试这个方法:

      INSERT INTO table2 (column) (SELECT column FROM table1)
      

      【讨论】:

        猜你喜欢
        • 2012-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-21
        • 2015-05-17
        • 1970-01-01
        • 2012-06-09
        • 1970-01-01
        相关资源
        最近更新 更多