Php和MySql - 将数据从一个表复制到另一个表

时间:2013-04-01 11:53:00

标签: php mysql

我只想知道如何在同一个数据库中将数据从一个表列复制到另一个表列?下面的代码不适用于我的MySQL版本,但它应该正常工作。

UPDATE `table1` SET `table1.column1` = 
(SELECT `table2.column2` FROM table2 WHERE `table1.city` = 'table2.city') 
WHERE `listing` ='5' 
你知道吗? 谢谢!

伙计们,因为我认为解决方案是可能的PHP脚本和这个问题的解决方案是制作一个短脚本,这将与while循环做所有这一切:)

感谢大家加入讨论!


解决方案是``它们之间的标记应该是列名, 这很好用,很享受!

4 个答案:

答案 0 :(得分:1)

是的,您可以使用INSERT ... SELECT Syntax,例如:

INSERT INTO database2.table1 (field1,field3,field9)
SELECT table2.field3,table2.field1,table2.field4
FROM table2;

检查Mysql

答案 1 :(得分:1)

它读起来就像是在尝试执行更新,而不是插入。

UPDATE table1 AS t1 INNER JOIN table2 AS t2 ON t1.city=t2.city 
SET t1.column1 = t2.column2
WHERE t1.listing ='5'

如果您确实需要将数据从一个表复制到另一个表,则需要遵循以下语法:

INSERT INTO tablename (field1,field2,field3) (SELECT field1,field2,field3 FROM another_table);

答案 2 :(得分:0)

尝试

INSERT INTO table2
   AS (SELECT *
FROM table1
WHERE table1.city = table2.city AND 
listing = 5);

按照栏目尝试

INSERT INTO table2 (columnname1) values (SELECT columnname1 FROM table1 
WHERE table1.city = table2.city AND 
listing = 5);

答案 3 :(得分:0)

试试这个。

UPDATE table1, (
    SELECT table2.city, table2.column2 
    FROM table2  ) table2
SET table1.column1 = table2.column2
WHERE table1.city = table2.city
AND listing ='5'