MySQL 在出现重复输入错误后继续

MySQL 在出现重复输入错误后继续

我正在运行“bash for”脚本来更新 mysql 中的某些记录,如下所示:

for i in `cat yahoo.txt`; do mysql $DB --batch -fe "update users set email=concat(left(email, instr(email, '@')), 'yahoo.com') where email like '%@$i';" ; done

但即使使用--force,更新也会在出现第一个错误后停止:

ERROR 1062 (23000) at line 1: Duplicate entry '[email protected]' for key 3

有什么办法可以强制它继续吗?

答案1

尝试改变更新更新忽略

http://dev.mysql.com/doc/refman/5.0/en/update.html

使用 IGNORE 关键字,即使更新过程中出现错误,更新语句也不会中止。发生重复键冲突的行不会被更新。如果行的列被更新为会导致数据转换错误的值,则该行将被更新为最接近的有效值。

相关内容