簡體   English   中英

MySQL Delete刪除錯誤的條目

[英]MySQL Delete removes wrong entry

我想刪除“圖像”表的條目。

DELIMITER $$
DROP PROCEDURE IF EXISTS removeImage$$

CREATE PROCEDURE removeImage(userID INT(10), imageID INT(10), OUT accesslevel INT(10))
BEGIN

SET accesslevel = 3;

IF accesslevel = 3 THEN
DELETE FROM Image
WHERE ImageID = imageID
limit 1;
END IF;

END$$
DELIMITER ;

當我用

call removeImage(1, 32, @access);
SELECT @access;

@access返回3並

DELETE FROM Image
WHERE ImageID = imageID
limit 1;

刪除表的第一個條目,但是當我調用它時:

DELETE FROM Image WHERE ImageID = 12;

正確的條目將被刪除。

所以將執行DELETE-part,但是當我單獨運行它時,它還會執行其他操作,我在做什么錯?

MySQL服務器可能對表名,列名等不區分大小寫。在where子句中,imageID可以引用表的ImageID列。 嘗試將存儲過程imageID中的參數名稱更改為p_imageID。

暫無
暫無

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

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