带有mysql插入的bash脚本-对重复条目执行其他操作

带有mysql插入的bash脚本-对重复条目执行其他操作

我有一个带有一些唯一约束的 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 插入的退出状态代码,如果失败,则决定从那里做什么。

进一步阅读:获取不带表格格式的 SQL 查询结果 | Stack Overflow

相关内容