一、场景
需求:version 版本字段是记录数据更新的次数,新增时自动填充 version=1 ,每更新一次数据 version就自增1。项目里单表插入和更新要手写update语句进行插入和更新。
–表中int4类型的字段 version 是1时,由1变成2
– version 是null时,version = version +1 结果任然是 version =null,不改变表里的数据
– 如果是 WHERE id=null ,sql 不报错,不改变表里的数据
UPDATE public.goods
SET version = version +1
WHERE id=1010;
注意写了SET version = version +1 ,就不能在更新语句里写, 不然就报version字段重复的错误。
update语句没有set的字段,在数据库里的值不会改变。
二、分析
定位记录:首先,它通过WHERE子句找到id字段值为1010的记录。
更新字段:然后,它使用SET子句来更新找到的记录的version 字段。这里的更新操作是将version 字段的当前值加1。
需要注意的是,执行这条语句之前,应该确保version 字段是数值类型(如INT),因为这里进行了加法操作。如果version 字段不是数值类型,这条语句将会失败。