mysql删除操作

时间:2009-10-07 08:49:07

标签: mysql

有没有办法删除关系,只有它存在于表中? 如果不, 删除表格中的关系时最好的方法是什么:

  1. 检查关系是否存在。如果是,则删除。 (2次操作)
  2. 删除并捕获错误(如果它不存在)。 (1次操作)
  3. 由于

3 个答案:

答案 0 :(得分:4)

DELETE FROM table WHERE id=30

将删除一行(如果存在),如果不存在则不执行任何操作。无需捕捉错误。

答案 1 :(得分:1)

DELETE仅在存在时才删除行。如果没有要删除的内容,它不会抛出错误。

答案 2 :(得分:0)

我认为您可以进行子选择并从该子选择中选择要删除的记录,如下所示

DELETE FROM target WHERE target_table.id IN (
  SELECT target_table.id INNER JOIN relation_table ON relation_table.target_table_id = target_table.id
)

使用INNER JOIN的子选择将返回带关系=)

的记录 希望它有所帮助! =)