gpt4 book ai didi

mysql - 在事务中包装 SQL 语句

转载 作者:可可西里 更新时间:2023-11-01 07:43:44 26 4
gpt4 key购买 nike

我正在使用以下内容:

begin
dbmodule.comenziQuery.SQL.Clear;
dbmodule.comenziQuery.SQL.Add('INSERT INTO `r33758pi_tipotask`.`arhiva` SELECT id, data, stare, client, telefon, email, detalii, observatii, pret, livrare, user, status FROM comenzi WHERE `id`='''+inttostr(dbmodule.comenziDataSetid.Value)+''';');
dbmodule.comenziQuery.ExecSQL(true);

dbmodule.comenziQuery.SQL.Clear;
dbmodule.comenziQuery.SQL.Add('DELETE FROM `r33758pi_tipotask`.`comenzi` WHERE `id`='''+inttostr(dbmodule.comenziDataSetid.Value)+''';');
dbmodule.comenziQuery.ExecSQL(true);
end;

谁能指导我如何将其包装在交易中?我以前从未使用过,我很难理解如何修改代码来添加它。

我正在尝试将它添加到 transaction 中,因为我读过这是一个很好的做法,因为如果 1 失败,它根本不会执行。

我已尝试遵循本指南 Some Guide然后使用那里提到的 begin transactionbegin try 但我猜这不是用于 delphi 代码或其他东西..所以运气不好。

希望代码没问题,请随时指出我到目前为止可能做的任何错误。

Delphi,使用 Rad Studio 10 Seattle,TSQLQuery - 服务器是 mysql - 如果我遗漏了任何内容,请在评论中告诉我,我会进行编辑。

最佳答案

事务通常用在 SQL Server 存储过程中,在 BEGIN TRANSACTION 和 COMMIT TRANSACTION 或 ROLLBACK TRANSACTION 语句之间有一个 sql 语句 block 。

不确定它是否适用于 MySQL。

事务通常在 sql server 上处理,而不是从代码中处理。

关于mysql - 在事务中包装 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com