由于要对数据库做并发控制,所以在A表中加了version字段,类型为timestamp类型。每次将verision作为更新条件,都返回受影响行数为0,求解,
eg:
1、UPDATE [hz2].[dbo].[book] SET [NAME]='TEST' where [version] = CAST('0x0000000000000FA2' as binary(8))
2、UPDATE [hz2].[dbo].[book] SET [NAME]='TEST' where [version] = CAST('0x0000000000000FA2' as timestamp)
ps: 0x0000000000000FA2这条记录在数据库是存在的。急啊。 求解。
为什么要进行CAST操作,试试下面的SQL:
UPDATE [hz2].[dbo].[book] SET [NAME]='TEST' where [version] = '0x0000000000000FA2'
version是timestamp类型的。这样的会出现"不允许从数据类型 varchar 到 timestamp 的隐式转换。请使用 CONVERT 函数来运行此查询。"错误。
@小码哥: 不好意思,写错了,应该去掉单引号
UPDATE [hz2].[dbo].[book] SET [NAME]='TEST' where [version] = 0x0000000000000FA2
@dudu: wonderful!搞定。多谢了。