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

提供されている情報がすでにデータベースにあるデータと一致するためにMySQLUPDATEクエリが失敗したかどうかを知る方法は?

    影響を受ける行が0になるもう1つの理由は、UPDATEの場合です。 ステートメントは行に一致しません。例:

    UPDATE MyTable SET field = 'content' WHERE id = 1234;
    

    id = 1234の行が存在しない場合、影響を受ける行を0にします 。これもエラーではなく、単なるUPDATEです。 たまたまどの行にも一致しませんでした。

    このケースを検出する方法は、SELECTを使用することです。 そのような行があることを確認します。行が存在することを確認できても、UPDATE 0行に影響があると言った場合、変更しようとした値は実際にはデータベースにすでに存在する行であることがわかります。

    SELECT COUNT(*) FROM MyTable WHERE id = 1234;
    

    しかし、区別は重要ではないかもしれません。 mysql_error()の場合、エラーを報告できます @BoltClockが示唆しているように、1つあると言います。*エラーがない場合は、ユーザーに「変更なし」と報告するだけです。



    1. ckeditorのコンテンツをmysqlデータベースに保存する方法

    2. MYSQLは出力とスクリプトが異なります

    3. xamppでmysqlバージョンを更新する方法(innodb_additional_mem_pool_sizeのエラー)

    4. GI12.2の変更