すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB for MySQL:UPDATE

最終更新日:Jun 11, 2024

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;