0

私はあなたがこれを行うことができることを知っています:

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

アップデート

だから私はこれを実行しました:

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

「c」列のエントリが異なる 3 行を選択し、まったく同じ 3 行を挿入して「AnotherTable」を更新します。それらは異なる値のはずですが...

4

2 に答える 2

1
INSERT INTO AnotherTable (a, b, c, d)
SELECT a, b,"SOME VALE","SOMEVALUE2"
FROM SomeTable
WHERE SomeColumn = 1
于 2013-04-25T08:50:41.173 に答える
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

于 2013-04-25T08:50:13.207 に答える