0
MySQL有一個不錯的SQL提示。交易在MySQL控制檯
之一,它的命令是source
從一個文本文件中的命令讀取並執行它們,就像它們在提示符下鍵入。
具有以下條件行這樣一個文本文件:
BEGIN TRANSACTION;
UPDATE ....;
UPDATE ....;
DELETE FROM ...;
COMMIT;
如果有任何中間這些SQL語句的語法或其他錯誤,他們仍然繼續執行剩下的,包括COMMIT
!哎喲!
你怎麼能使其因此,如果任何命令失敗,事務和腳本都將立即中止?
啊哈非常有前途的。可悲的是,它只是告訴我在語法上有一個錯誤;它並沒有說明究竟是什麼。我想這隻能在程序或其他東西中聲明,而且如果我把代碼放在一個不是會話本地的程序中,它不能使用session @variables? – Will
這確實是正確的。另一種解決方案可能是做一個'SHOW WARNINGS''' SHOW ERRORS'(或COUNT它們),並在最後的COMMIT/ROLLBACK基礎上(COUNT)。 – Konerak