<!-- 根据分类ID删除分类 --> <delete id="deleteOne" parameterType="int"> SET FOREIGN_KEY_CHECKS = 0 DELETE FROM category WHERE category_id = #{category_id} </delete>检查语法错误并修改
时间: 2024-02-04 11:01:51 浏览: 71
MyBatis-03动态SQL-01.<if>元素的使用
这段代码的 SQL 语句是正确的,只需要稍微修改一下 XML 的格式就可以了,如下所示:
```
<!-- 根据分类ID删除分类 -->
<delete id="deleteOne" parameterType="int">
SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM category
WHERE category_id = #{category_id};
</delete>
```
修改的内容包括:
- 将 SQL 语句的两部分分开,方便阅读和调试;
- 在 SET 语句的末尾添加分号;
- 在 DELETE 语句的末尾添加分号。
此外,需要注意的是,SET FOREIGN_KEY_CHECKS = 0 的作用是关闭外键约束检查,这样可以在不删除关联表中的数据的情况下删除主表中的记录。但是,需要谨慎使用这个语句,因为关闭外键约束检查可能会导致数据不一致的问题。
阅读全文