WHERE句が存在しない限り、コンソールを介して行が更新されないようにするmysql構成設定があることをどこかで読んだと思います。
ドキュメントで見つけることができませんでした。そのオプションは存在しますか?
WHERE句が存在しない限り、コンソールを介して行が更新されないようにするmysql構成設定があることをどこかで読んだと思います。
ドキュメントで見つけることができませんでした。そのオプションは存在しますか?
SET SQL_SAFE_UPDATES=0;
クエリを実行する直前。
セーフモードに関するMySQLのヒントを参照してください。
初心者にとって、便利な起動オプションは--safe-updates(または、同じ効果を持つ--i-am-a-dummy)です。DELETE FROM tbl_nameステートメントを発行したが、WHERE句を忘れた場合に役立ちます。通常、このようなステートメントはテーブルからすべての行を削除します。--safe-updatesを使用すると、行を識別するキー値を指定することによってのみ行を削除できます。これは事故を防ぐのに役立ちます。
WHERE句でキー制約を指定するか、LIMIT句(またはその両方)を指定しない限り、UPDATEまたはDELETEステートメントを実行することはできません。例えば:
UPDATE tbl_name SET not_key_column=val WHERE key_column=val; UPDATE tbl_name SET not_key_column=val LIMIT 1;
MySQLドキュメントから:http://dev.mysql.com/doc/refman/5.5/en/mysql-tips.html
"4.5.1.6.2。--safe-updatesオプションの使用
初心者にとって、便利な起動オプションは--safe-updates(または、同じ効果を持つ--i-am-a-dummy)です。DELETE FROM tbl_nameステートメントを発行したが、WHERE句を忘れた場合に役立ちます。通常、このようなステートメントはテーブルからすべての行を削除します。--safe-updatesを使用すると、行を識別するキー値を指定することによってのみ行を削除できます。これは事故を防ぐのに役立ちます。
[...]
WHERE句でキー制約を指定するか、LIMIT句(またはその両方)を指定しない限り、UPDATEまたはDELETEステートメントを実行することはできません。」