SQL系列4-插入更新与删除

SQL系列4-插入更新与删除 ✅

下面是许多 SQL 程序员使用 UPDATE 或 DELETE 时所遵循的重要原则。

 除非确实打算更新和删除每一行,否则绝对不要使用不带 WHERE 子句

的 UPDATE 或 DELETE 语句。

 保证每个表都有主键(如果忘记这个内容,请参阅第 12 课),尽可能

像 WHERE 子句那样使用它(可以指定各主键、多个值或值的范围)。

 在 UPDATE 或 DELETE 语句使用 WHERE 子句前,应该先用 SELECT 进

行测试,保证它过滤的是正确的记录,以防编写的 WHERE 子句不正确。

 使用强制实施引用完整性的数据库(关于这个内容,请参阅第 12 课),

这样 DBMS 将不允许删除其数据与其他表相关联的行。

 有的 DBMS 允许数据库管理员施加约束,防止执行不带 WHERE 子句

的 UPDATE 或 DELETE 语句。如果所采用的 DBMS 支持这个特性,应

该使用它。

```xml
<update id="updateWork" >
update
contract_work cw
<trim prefix="set" suffixOverrides="," suffix="where cw.id = #{work.id}">

cw.value = #{work.value},

cw.begin_date = #{work.beginDate},

cw.end_date = #{work.beginDate},

cw.meet_topic = #{work.meetTopic},

cw.meet_place = #{work.meetPlace},

cw.serve_object = #{work.serveObject},

cw.check_serial = #{work.checkSerial},

cw.name = #{work.name},

cw.modifier_id = #{work.modifierId},

cw.gmt_modified = #{work.gmtModified}

</trim>


</update>
```

 

 

posted @ 2023-09-18 16:04  zheng-s  阅读(21)  评论(0编辑  收藏  举报
,