UPDATE
文を実行して、テーブル内のデータを更新できます。 AnalyticDB for MySQLを使用すると、単一のテーブルまたは複数のテーブルのデータを更新できます。
使用上の注意
UPDATE
ステートメントを実行するテーブルには、主キーが必要です。主キー列のデータは更新できません。
ORDER BYおよびLIMIT句は、単一テーブル更新に対してのみサポートされます。
単一のテーブルを更新するUpdate a single table
構文
UPDATE table_name
SET assignment_list
[WHERE where_condition]
[注文...]
[LIMIT ...]
例
顧客テーブルでIDが2369
されている顧客の名前をClaireに変更します。
更新
お客様
セット
customer_name ='Claire'
どこ
customer_id ='2369';
複数のテーブルを更新するUpdate multiple tables
前提条件
V3.1.6.4以降のAnalyticDB for MySQLクラスターが使用されます。
クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。
構文
UPDATE Table_name1
[INNER JOIN | LEFT JOIN] Table_name2 ON Table_name1.C1 = Table_name2.C1
SET assignment_list
[WHERE where_condition]
使用上の注意
ORDER BYおよびLIMIT句は、マルチテーブル更新ではサポートされません。
複数のテーブルのデータを更新する場合は、1つのテーブルに対してのみ1つのupdate文を実行できます。
複数のテーブルのデータを更新する場合は、更新するテーブルを最初に設定します。 たとえば、次のステートメントを実行して、顧客テーブルの顧客IDを1に変更します。
UPDATE customer LEFT JOIN new_customer ON customer.customer_name = new_customer.customer_name SET customer.customer_id = '1';
例
LEFT JOIN
を含むUPDATE
ステートメントを実行します。顧客テーブルでIDが
2369
されている顧客の年齢を42に変更します。UPDATEカスタマー customerでnew_customerに参加してください。customer_id = new_customer.customer_id セット customer.customer_age = 42 どこ new_customer.customer_id = '2369';
INNER JOIN
を含むUPDATE
ステートメントを実行します。顧客テーブルの顧客IDを2369に変更します。
UPDATEカスタマー INNER JOIN new_customer ON customer.customer_name = new_customer.customer_name セット customer.customer_id = '2369';
customerテーブルのcustomer_nameフィールドをnew_customerテーブルのcustomer_nameフィールドに変更します。
UPDATEカスタマー INNER JOIN new_customer ON customer.customer_id = new_customer.customer_id セット customer.customer_name = new_customer.customer_name;