如果我可以从innodb表中删除行,我需要编写将返回true的查询,否则返回false,或者至少我要查询" DELETE FROM表WHERE ID = 2"没有生成mysql错误,只返回受影响的行= 0;
答案 0 :(得分:0)
您必须检查行主键是否在任何定义为外键的表中使用。
如果tableXXX作为字段table_id是table.ID字段的外键:
select count(table_id) from tableXXX where table_id = 2 limit 1;
对于每个链接表都是如此。
在事务中执行删除,捕获错误,并在出现错误时回滚也可能有效,但这是一个不好的想法。