检查从innodb删除行的能力;

时间:2015-05-26 21:17:59

标签: mysql innodb

如果我可以从innodb表中删除行,我需要编写将返回true的查询,否则返回false,或者至少我要查询" DELETE FROM表WHERE ID = 2"没有生成mysql错误,只返回受影响的行= 0;

1 个答案:

答案 0 :(得分:0)

您必须检查行主键是否在任何定义为外键的表中使用。

如果tableXXX作为字段table_id是table.ID字段的外键:

select count(table_id) from tableXXX where table_id = 2 limit 1;

对于每个链接表都是如此。

在事务中执行删除,捕获错误,并在出现错误时回滚也可能有效,但这是一个不好的想法。