SELECT
ステートメントを使用して挿入するクエリがあります。
INSERT INTO courses (name, location, gid)
SELECT name, location, gid
FROM courses
WHERE cid = $cid
挿入に「名前、場所」のみを選択gid
し、クエリで他の何かに設定することは可能ですか?
SELECT
ステートメントを使用して挿入するクエリがあります。
INSERT INTO courses (name, location, gid)
SELECT name, location, gid
FROM courses
WHERE cid = $cid
挿入に「名前、場所」のみを選択gid
し、クエリで他の何かに設定することは可能ですか?
はい、もちろんですが、構文を確認してください。
INSERT INTO courses (name, location, gid)
SELECT name, location, 1
FROM courses
WHERE cid = 2
gid
もちろん、1つだけでなく、その場所と同じタイプの定数を置くことができます。そして、私はちょうど価値を作り上げましたcid
。
はい、そうです。あなたは書ける :
INSERT INTO courses (name, location, gid)
SELECT name, location, 'whatever you want'
FROM courses
WHERE cid = $ci
または、select..の別の結合から値を取得できます。
正しい構文:選択したスペルが間違っていた
INSERT INTO courses (name, location, gid)
SELECT name, location, 'whatever you want'
FROM courses
WHERE cid = $ci
確かに、あなたはギッドに何を使いたいですか?静的な値、PHP var、..。
1234の静的な値は次のようになります。
INSERT INTO courses (name, location, gid)
SELECT name, location, 1234
FROM courses
WHERE cid = $cid
もちろんできます。
ただし、このINSERT INTO SELECT
ステートメントは1つのテーブルからデータをコピーして別のテーブルに挿入し、ソーステーブルとターゲットテーブルのデータ型が一致している必要があることに注意してください。指定されたテーブル列のデータ型が一致しない場合(つまり、に挿入しようとした場合、またはにVARCHAR
挿入しようとした場合)、MySQLサーバーは。をスローします。INT
TINYINT
INT
SQL Error (1366)
ので注意してください。
コマンドの構文は次のとおりです。
INSERT INTO table2 (column1, column2, column3)
SELECT column1, column2, column3 FROM table1
WHERE condition;
補足:でキャストを使用することにより、さまざまな列タイプの挿入の問題を回避する方法がありますSELECT
。次に例を示します。
SELECT CAST('qwerty' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
この変換(CAST()
の同義語CONVERT()
)は、テーブルの同じテーブル列に異なる文字セットがある場合に非常に役立ちます(適切に処理されない場合、データが失われる可能性があります)。
INSERTステートメントが間違っていると思います。正しい構文を参照してください:http://dev.mysql.com/doc/refman/5.1/en/insert.html
編集:アンドリューがすでに指摘したように...
私たちは皆、これが機能することを知っています。
INSERT INTO `TableName`(`col-1`,`col-2`)
SELECT `col-1`,`col-2`
===========================
複数の「select」ステートメントの場合、以下の方法を使用できます。情報のためだけに。
INSERT INTO `TableName`(`col-1`,`col-2`)
select 1,2 union all
select 1,2 union all
select 1,2 ;
クエリの正しい構文は次のとおりです。
INSERT INTO courses (name, location, gid)
SELECT (name, location, gid)
FROM courses
WHERE cid = $cid