1

こんにちはみんな基本的に、flagId = 6 のすべての clientId を選択するクエリがあります。

つまり:

SELECT clientId from ClientsFlags WHERE flagId = 6;

ここで、このクエリの結果を取得し、select ステートメントで取得した結果ごとに新しいレコードを作成します。

INSERT INTO clientFlags clientId, flagId VALUES('The client ID's that were obtained in the select query', 42);

これらのステートメントを組み合わせる最良の方法は何ですか?

4

5 に答える 5

2

INSERT ... SELECT 構文を使用できます

INSERT INTO clientFlags (clientId, flagId) 
    SELECT clientId, 42 
    FROM ClientsFlags 
    WHERE flagId = 6;

このようなもの、構文エラーについてはテストしていません

于 2013-01-23T10:54:35.533 に答える
0

次のようにできます

 INSERT INTO `clientFlags` 
 SELECT * FROM `clientFlags` WHERE `flagId` = 6

注:また、フィールドを一意または主キーにすることはできないことに注意する必要があります...

于 2013-01-23T11:22:42.537 に答える
0
INSERT INTO clientFlags (clientId, flagId) SELECT clientId, 42 from ClientsFlags WHERE flagId = 6;
于 2013-01-23T10:57:40.380 に答える
0
INSERT INTO clientFlags (SELECT clientId,42 from ClientsFlags WHERE flagId = 6)
于 2013-01-23T10:55:16.663 に答える
0

INSERT ... SELECT 構文を使用する

クエリは次のようになります。

INSERT INTO clientFlags (clientId, flagId) 
   SELECT clientId, flagId 
   FROM ClientsFlags WHERE flagId = 6;
于 2013-01-23T10:56:45.063 に答える