2013-04-25 55 views
0

我知道你可以這樣做:MySQL的複製行,使用PHP在同一時間

INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b, c, d 
FROM SomeTable 
WHERE SomeColumn = 1 

但如果不是SELECT a, b, c, d你需要更新這些列作爲a, b, c, "string"

到什麼說白了我想要說的聲明:

INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b 
FROM SomeTable 
WHERE SomeColumn = 1 
// And put "string" into d 

UPDATE

於是我就這樣:

INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b, c, 'string' 
FROM SomeTable 
WHERE SomeColumn = 1 

它選擇的3行,在「C」柱不同的條目,並通過插入3行中的所有完全相同的更新「AnotherTable」。他們應該是不同的值,雖然...

+0

您可以通過這種類型選擇值,它會工作。 – 2013-04-25 08:53:22

+0

我發佈的更新確實有效,我忘記保存 - .- – 2013-04-25 09:46:13

回答

1
INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b,"SOME VALE","SOMEVALUE2" 
FROM SomeTable 
WHERE SomeColumn = 1 
0
INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b, $somevar, 'fixed string' 
FROM SomeTable 
WHERE SomeColumn = 1 

但是,你應該非常小心注入$ somevar那樣。真的,你應該使用準備好的語句,所以它會...

INSERT INTO AnotherTable (a, b, c, d) 
SELECT a, b, :CustomValue, 'fixed string' 
FROM SomeTable 
WHERE SomeColumn = 1 

和CustomValue通過綁定到語句的值來設置。這裏有一些例子:http://www.php.net/manual/en/pdostatement.bindvalue.php

+0

所以我設法減少它,所以我不使用'$ var',但問題是它插入適量的行,但它們是所有重複。 – 2013-04-25 09:29:17

相關問題