ホームページ > データベース > mysql チュートリアル > SELECT を使用してテーブルに INSERT し、1 つの列に異なる値を割り当てることはできますか?

SELECT を使用してテーブルに INSERT し、1 つの列に異なる値を割り当てることはできますか?

Linda Hamilton
リリース: 2025-01-18 19:46:11
オリジナル
161 人が閲覧しました

Can I INSERT into a table with SELECT, assigning a different value to one column?

変更された列値を使用した INSERT と SELECT の組み合わせ

この例では、courses ステートメントを使用して SELECT テーブルにデータを挿入すると同時に、ソース テーブルから取得した値に関係なく、gid 列に特定の値を割り当てる方法を示します。

元のクエリは、courses テーブルからデータをコピーしようとします:

<code class="language-sql">INSERT INTO courses (name, location, gid) 
SELECT name, location, gid 
FROM courses 
WHERE cid = $cid</code>
ログイン後にコピー

問題は、挿入プロセス中に gid 値を変更できるかどうかです。

解決策

はい、これは実現可能です。 重要なのは、gid ステートメントの SELECT 列を定数値または別の式に置き換えることです。 次のクエリはこれを示しています:

<code class="language-sql">INSERT INTO courses (name, location, gid)
SELECT name, location, 1  -- '1' is the new gid value
FROM   courses
WHERE  cid = 2  -- Example condition; replace '2' with your desired cid</code>
ログイン後にコピー

この変更されたクエリでは、gid テーブルから選択された行の INSERT 値に関係なく、1 ステートメントの gid 列は常に値 courses を受け取ります。 1 を、gid 列のデータ型と互換性のある値を生成する適切な定数または式に置き換えることができます。 WHERE 句はソース データをフィルタリングし、関連する行のみが挿入に使用されるようにします。

以上がSELECT を使用してテーブルに INSERT し、1 つの列に異なる値を割り当てることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート