私は更新しようとしているテーブルにレコードが存在する場合、MySQLのクエリはレコードを更新するでしょう。人がいればMySQLの更新
たとえばレコードがテーブルにある場合は、特定の列を空白に設定しようとしています。レコードがテーブルにない場合は、何もしたくないのです。私はPHPとMySQL
私は更新しようとしているテーブルにレコードが存在する場合、MySQLのクエリはレコードを更新するでしょう。人がいればMySQLの更新
たとえばレコードがテーブルにある場合は、特定の列を空白に設定しようとしています。レコードがテーブルにない場合は、何もしたくないのです。私はPHPとMySQL
ファーストを使用してい
は、レコードの一意の識別子のいくつかの並べ替えをする必要があります。これには、PRIMARY KEY、UNIQUE制約などがあります。一意であることが保証されているusername
のユーザーがいるとします。
UPDATE
クエリは、そのユーザー名を持つ行のみに影響するように制限できます。したがって、ユーザー名が存在しない場合、何も行われません。
UPDATE `tbl_users` SET `target_field` = NULL WHERE `username` = "joebloggs";
ooo ok、単に失敗させるよりも良い方法です。私のユニークなIDはGUIDです。 ありがとうInterrobang –
それは失敗しません、クエリは正常に成功します。クエリが行を更新しなかっただけで、失敗したというわけではありません。失敗したクエリの構文や列名が正しくないなどです。 – Interrobang
あなたはこのようにexistsing記録と更新のIDを探すことができます。
Update tbl_name set field_name=new_data
where id_column = (select id_column from tbl_name where key_column=key_value)
テーブル内のレコードはユニークなもの? –
なぜレコードを更新しようとしないのですか?それが存在しなければ、エラーは発生せず、0レコードだけが更新されます。 –
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html – j08691