社区
数据库相关
帖子详情
加了觸發器後,取UPDATE後的ID錯誤!
leef_zh
2010-08-12 02:53:42
我有一個表主鍵是自動編號的,用的是MSSqlServer2000
在這個表上建了一個觸發器,然後在程序裡面執行UPDATE後,去取得這個ID
假設它返回的值86,但是數據庫實際更新的是76
我把這個表上的觸發器刪除以後,再執行第二次更新,取得ID為77, 數據庫實際ID也是77,正確的。
有人知道這個問題怎麼解決嗎?
...全文
56
3
打赏
收藏
加了觸發器後,取UPDATE後的ID錯誤!
我有一個表主鍵是自動編號的,用的是MSSqlServer2000 在這個表上建了一個觸發器,然後在程序裡面執行UPDATE後,去取得這個ID 假設它返回的值86,但是數據庫實際更新的是76 我把這個表上的觸發器刪除以後,再執行第二次更新,取得ID為77, 數據庫實際ID也是77,正確的。 有人知道這個問題怎麼解決嗎?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leef_zh
2010-08-12
打赏
举报
回复
[Quote=引用 2 楼 huwenfeng2001hf 的回复:]
自動編號与触发器没有关系 吧
[/Quote]
在PB裡是有關係的,執行UPDATE以後,使用觸發器插入另外一個表的自動ID後,PB返回的ID是那個表的ID,不是你正在更新這個表的ID
huwenfeng2001hf
2010-08-12
打赏
举报
回复
自動編號与触发器没有关系 吧
zyf32145
2010-08-12
打赏
举报
回复
例如,有两个表 T1 和 T2,在 T1 上定义了一个 INSERT 触发器。当将某行插入 T1 时,触发器被激发,并在 T2 中插入一行。此例说明了两个作用域:一个是在 T1 上的插入,另一个是作为触发器的结果在 T2 上的插入。
假设 T1 和 T2 都有 IDENTITY 列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值。
@@IDENTITY 返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值,该值是插入 T2 中的值。
SCOPE_IDENTITY() 返回插入 T1 中的 IDENTITY 值,该值是发生在相同作用域中的最后一个 INSERT。如果在作用域中发生插入语句到标识列之前唤醒调用 SCOPE_IDENTITY() 函数,则该函数将返回 NULL 值。
mysql创建触发器错误提示:Can not
update
in stored function/trigger already used by statement invoked
1、床架一个表user 定‘
id
’ 'num' 'age'三个字段,打算创建一个触发器,当修改/插入
id
、num时 age字段始终为
id
和num 的乘积。 2、利用navicat for mysql 创建触发器:右击表名--->设计表--->触发器 定义sql语句为...
Mysql在insert触发器里如何
update
当前数据
create trigger
update
_area ...set new.area = (select area from `unit` left join `group` on unit.
id
=`group`.unit
id
where `group`.
id
= new.group
Id
) where
id
= new.
id
; end; 在insert数据
mysql 条件触发器_具有条件的MySQL更新触发器(MySQL
Update
Trigger with Conditions)
具有条件的MySQL更新触发器(MySQL
Update
Trigger with Conditions)我有一个PHP应用程序,通过TEST15将'Pass','Fail'或'NA'插入到字段TEST1,TEST2,TEST3 ......中。我有一个名为OVERALL的字段,如果任何TEST1-...
SQL:
UPDATE
触发器的工作过程
当在定义有触发器的表上执行
UPDATE
语句时,原始行(前像)被移入到deleted表,更新行(后像)被移入到inserted表。 触发器检查deleted表和inserted表以及被更新的表,来确定是否更新了多行以及如何执行触发器动作。 ...
SQL:实时更新的时间戳-触发器和on
update
错误写法:不应该使用after
update
,更改为before
update
,after 不支持更新操作。错误写法:不应该在更新同一张表时使用
update
语句,直接使用set和new old就可以了。方案一成功,但是基于尽量少使用触发器的原则,...
数据库相关
752
社区成员
12,763
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章