簡體   English   中英

MySQL中的簡單IF語句不起作用

[英]Simple IF Statement in MySQL isn't working

我有一個表,其中包含列idname

START TRANSACTION;
UPDATE Test SET name='test' where id=1;
SELECT ROW_COUNT() INTO @affected_rows;
IF (@affected_rows > 0) THEN
    COMMIT;
ELSE
    ROLLBACK;
END IF

似乎正在返回錯誤

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在第1行0秒處在'IF(affected_rows> 0)THEN COMMIT'附近使用

當前正在運行MySQL 5.6.22

首先, if作為控制流表達式僅在編程塊中允許使用-存儲過程,觸發器和函數。

其次,邏輯沒有道理。 如果沒有受影響的行,則無需回滾事務。

指出文檔

用於存儲程序的IF語句實現了基本的條件構造。

術語“存儲的程序”是指某些編程塊。 if將它與可以在查詢中使用的MySQL函數if()混淆,請不要混淆它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM