sqlite中SQL语句的表达式不能包含字段值吗?

例如:“update 表名 set 整型字段1=64,整型字段2=整型字段1+32 where 字段1=64;" 结果不对啊?难道表达式中只能是常数,不能有字段值吗?

2个回答

不可以,只能写
update 表名 set 整型字段1=64,整型字段2=64+32 where 字段1=64
如果非要按照你的写法,可以写
update 表名 set 整型字段1=64,整型字段2=(select 整型字段1 from 表 where 字段1=64)+32 where 字段1=64

diagram98
diagram98 如果要对字段值进行算术加减及逻辑与或运算该如何实现?
4 年多之前 回复
diagram98
diagram98 “update 表名 set 整型字段1=64,整型字段2=整型字段1 where 字段1=64”也不能实现。是否“=”后就只能跟常数?
4 年多之前 回复
diagram98
diagram98 感谢你的回复!但用你说的方法试了很久也没能实现。
4 年多之前 回复

“update 表名 set 整型字段1=64,整型字段2=(select 整型字段1 from 表 where 字段1=64)+32 where 字段1=64“ 好像也不行啊!
我是把这个语句放到触发器中执行的,应该与在SQLITE命令行执行结果相同吧?实际上这些字段值都是变量,所以需要表达式。如果是常量就不必要运算符了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问