mysql update selectステートメントの使い方を教えてください。

MySQLでは、UPDATE SELECT文を使用してテーブル内のデータを更新することができます。構文は以下の通りです:

表名を更新し、列名1には条件を満たす表名2の列名2の値を設定してください。

上記は、データを更新するテーブルの名前を表し、更新する列の名前である列名1、別のテーブルから選択される列名である列名2、更新する行を絞り込む条件である条件を示しています。

例えば、ordersテーブルとcustomersテーブルがあるとします。ordersテーブルにはcustomer_id列があり、それぞれの顧客IDを保存しています。一方、customersテーブルにはcustomer_id列とcustomer_name列があり、それぞれ顧客IDと顧客名を保存しています。

ordersテーブルのcustomer_idに基づいてordersテーブルのcustomer_name列を更新するには、次の文を使用できます:

UPDATE orders
SET customer_name = (SELECT customer_name FROM customers WHERE orders.customer_id = customers.customer_id)
WHERE customer_name IS NULL;

注文
セット 顧客名 = (SELECT 顧客名 FROM 顧客 WHERE 注文.顧客ID = 顧客.顧客ID)
WHERE 顧客名 IS NULL;

この文は、ordersテーブルのcustomer_idに基づいて、customersテーブルから対応するcustomer_nameを検索し、それをordersテーブルのcustomer_name列に更新します。同時に、customer_nameが空の行のみを更新します。

UPDATE SELECT文を使用する際には、サブクエリが1行の結果のみを返すことを確認してください。そうでないとエラーが発生します。

bannerAds