猿问

将一个表中的所有列复制到另一个表但需要指定几列php变量

我想将列从一个表复制到另一个表,当我想复制“AllInOne”时这不是问题。


我会写:


INSERT INTO table2 SELECT * FROM table1 WHERE condition; 

如果我只需要复制部分列,我会写:


INSERT INTO table2 (column1, column2, column3, ...) 

   SELECT column1, column2, column3, ... FROM table1 WHERE condition;


如果我需要复制所有列,但我需要两或三列带有我从中获取的指定 PHP 变量$_POST[]或$_GET[]怎么办?如果我在表格中只有十列,我将“手动”编写它,这是我的第二个例子。但是我的表中有 30 多列......因此我试图找到一些我可以INSERT *并且还指定的组合column2,column3例如。


有没有办法做到这一点?像这样的东西:


NSERT INTO table2 ( *, Price, Customer) SELECT ( *, '451', 'John') 

   FROM table1 WHERE condition;


大话西游666
浏览 129回答 2
2回答

达令说

你很近。只是不要使用括号:INSERT INTO table2 (column1, column2, . . ., price, customer)  -- list all columns here    SELECT t1.*,  -- I advise you to list the columns here too           451, 'John'    FROM table1 t1    WHERE condition;
随时随地看视频慕课网APP
我要回答