脚本宝典收集整理的这篇文章主要介绍了php – 表锁定事务,删除然后插入相同的事务,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我进一步调试了这个问题,我的代码现在看起来像这样:
$mssql->beginTransaction(); $mssql->sql("DELETE From [TABLE] WHERE [FIELD] = 'test'"); // WrITe the result from the above query,// this will confirm the row was deleted PRint_r($mssql->result); $mssql->sql("SELECT FROM [TABLE] WHERE [FIELD] = 'Test'"); // Write the result from the above query,// this SHOULD be empty as the row was just deleted print_r($mssql->result); $mssql->endTransaction();
上面的脚本在一个sql Server数据库上非常完美,但在另一个sql Server数据库上(不同服务器上的重复数据库),它不起作用.
附加信息
>从我所看到的,数据库选项的唯一区别是broker Enabled选项,我认为这与此无关.
>我不知道如何访问或查看交易选项,这些是否相关?
>这可能与表锁定有关吗?
sql跟踪
declare @p1 int set @p1=1 exec sp_prePExec @p1 output,N'@P1 nvArchar(6)',N'DELETE FROM TABLE WHERE [FIELD]=@P1',N'M87996' select @p1 go declare @p1 int set @p1=2 exec sp_prepexec @p1 output,NULL,N'SELECT db_name()' select @p1 go exec sp_unprepare 2 go exec sp_unprepare 1 go declare @p1 int set @p1=1 exec sp_prepexec @p1 output,N'SELECT * FROM [TABLE] WHERE [FIELD]=@P1 ',N'M87996' select @p1 go exec sp_unprepare 1 go
原始问题
这是我第一次使用sql Transactions,所以如果我天真,我会道歉.
我有一个事务,从数据库中删除一个项目,然后插入更新的项目,但在同一主键下.
$mssql->beginTransaction(); $mssql->sql("DELETE FROM [TABLE] WHERE [FIELD] = 'Test'"); $mssql->sql("INSERT INTO [TABLE] ([FIELD]) VALUES ('Test')); $mssql->endTransaction();
以上是脚本宝典为你收集整理的php – 表锁定事务,删除然后插入相同的事务全部内容,希望文章能够帮你解决php – 表锁定事务,删除然后插入相同的事务所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。