ホームページ >データベース >mysql チュートリアル >INSERT と SELECT を使用して特定の列を挿入し、カスタム値を設定するにはどうすればよいですか?
「INSERT WITH SELECT」クエリを理解する
「INSERT WITH SELECT」クエリは、INSERT ステートメントと SELECT ステートメントを組み合わせて、SELECT ステートメントから取得したデータに基づいてデータベース テーブルに複数の行を挿入します。
「INSERT WITH SELECT」クエリの柔軟性
通常、INSERT ステートメントではターゲット テーブル内の各列の値を指定できますが、「INSERT WITH SELECT」クエリではより高い柔軟性が得られます。これらのクエリでは、SELECT ステートメントで列を選択的に含めたり除外したりできるため、特定の列にデータを挿入したり、挿入プロセス中に値を変更したりすることができます。
例: 選択した列のみを挿入し、列にカスタム値を設定します
質問に示されているクエリを考えてみましょう:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, gid FROM courses WHERE cid = $cid</code>
このクエリでは、SELECT ステートメントはコース テーブルから名前、場所、および gid 列を取得しますが、目的はターゲットのコース テーブルに名前と場所を挿入することだけです。これを実現するには、クエリを次のように変更します:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, 1 FROM courses WHERE cid = 2</code>
変更されたクエリでは、SELECT ステートメントは同じままですが、INSERT ステートメントの gid 列に定数値 1 を指定します。これにより、gid を固定値 1 に設定しながら、コースに名前と場所を挿入できます。 1 を gid と同じ型の任意の定数に置き換えることができることに注意してください。
以上がINSERT と SELECT を使用して特定の列を挿入し、カスタム値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。