我有一个带有一些唯一约束的 mysql 表。我有一个脚本,它会询问一些问题,然后将答案插入到 mysql 表中。
如果存在重复条目,我不知道如何告诉脚本执行其他操作。
我想提供删除条目并添加新条目的选项,或者返回到开始处再次执行脚本。
希望这是有意义的。
普雷斯顿
答案1
我建议先运行查询以查看记录是否存在,然后您可以使用一些 bash 逻辑根据查询结果决定要做什么。也许是这样的...
CHECK_ROW_EXISTS=$(mysql -u dbuser -p --batch -N -e "SELECT COUNT(*) FROM dbname.dbtable WHERE id = ${ID_TO_CHECK}")
使用--batch
和-N
将删除格式,以便我们可以将结果分配给 bash 变量,然后从那里决定做什么。
另一个选择是检查 mysql 插入的退出状态代码,如果失败,则决定从那里做什么。