sql >> データベース >  >> RDS >> Mysql

MySQL挿入クエリはWHERE句では機能しません

    MySQL INSERT構文 WHERE句をサポートしていないため、現状のクエリは失敗します。 idを想定 列は一意または主キーです:

    ID 1の新しい行を挿入する場合は、次を使用する必要があります。

    INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
    

    ID 1の既存の行の重み/desiredWeight値を変更しようとしている場合は、次を使用する必要があります。

    UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
    

    必要に応じて、次のようにINSERT .. ONDUPLICATEKEY構文を使用することもできます。

    INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
    

    またはそのように:

    INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
    

    idの場合は、注意することも重要です。 columnは自動インクリメント列であるため、INSERTからすべて一緒に省略して、mysqlに通常どおりインクリメントさせることもできます。



    1. oracle12cでSQLクエリの結果をJSONとして返します

    2. PostgreSQLテーブル変数

    3. データベースの削除は、どのトランザクションでも実行する必要はありませんか?

    4. アクセスデータベースのSQLServerへの移行