SELECT を使用した SQL INSERT: 列値のカスタマイズ
多くの場合、SELECT
クエリ内で INSERT
ステートメントを使用して、テーブルにデータを設定します。 しかし、特定の列の値を変更するときに SELECT
クエリから値を挿入する必要がある場合はどうすればよいでしょうか?
挿入中の列値の変更
これは簡単に達成できます。 既存の courses
テーブルからデータを挿入したいが、gid
列を特定の値でオーバーライドしたいとします:
独自のアプローチ (カスタマイズなし):
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, gid FROM courses WHERE cid = $cid</code>
カスタマイズされた挿入:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, 1 -- gid is now always 1 FROM courses WHERE cid = 2</code>
ご覧のとおり、gid
列の選択を定数値 (この場合は 1
) に置き換えることで、挿入されたすべての行の gid
値を直接制御できます。 1
を目的の値に置き換え、必要に応じて WHERE
句 (cid = 2
) を調整して、適切なソース行を選択するだけです。 これにより、個々の列値の制御を維持しながら、テーブルにデータを設定する際の柔軟性が得られます。
以上がSELECT を使用して SQL INSERT 中に列の値をカスタマイズできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。