第一行:UPDATE zbp_post SET log_Tag = 2320 WHERE log_Title LIKE 社保基金;第二行UPDATE zbp_post SET log_Tag = 12 WHERE log_Title LIKE 社保;执行了SQL命令后第二行的sql语句替换了第一行请问如何写sql语句相互不替换
要实现两条SQL语句相互不替换,可以将它们放在一个事务中执行。一个事务是一个不可分割的工作单位,要么全部执行成功,要么全部回滚失败。
以下是一个示例,展示如何使用事务执行这两条SQL语句,以确保它们不会相互替换:
BEGIN TRANSACTION;
UPDATE zbp_post SET log_Tag = '{2320}' WHERE log_Title LIKE '%社保基金%';
COMMIT;
BEGIN TRANSACTION;
UPDATE zbp_post SET log_Tag = '{12}' WHERE log_Title LIKE '%社保%';
COMMIT;
首先,使用BEGIN TRANSACTION;开始一个事务。然后执行第一条UPDATE语句,并使用COMMIT;提交该事务。接着,使用BEGIN TRANSACTION;开始另一个事务,执行第二条UPDATE语句,并再次使用COMMIT;提交该事务。
通过在事务中执行这两条SQL语句,可以确保它们不会相互替换。如果发生错误或异常,可以使用ROLLBACK;回滚所有操作,使数据库恢复到事务开始前的状态
原文地址: https://www.cveoy.top/t/topic/iSSL 著作权归作者所有。请勿转载和采集!