MySQL存储过程忽略DELETE语句


MySQL stored procedure ignores DELETE statement

我有这个从PHP脚本调用的存储过程。它有几个select语句和一个delete语句。除了没有执行DELETE查询之外,一切都很好。它被忽略了!!请帮助。由于

CREATE PROCEDURE `proc_name`(IN id INT, IN type CHAR(50))
DETERMINISTIC
COMMENT 'procedure'
BEGIN 
DECLARE LEGACY_EN_ID INT;
SET IN_ID = id;
SELECT  IF(e.legacy_id > 0, e.legacy_id, 0) INTO LEGACY_EN_ID FROM tablename e WHERE e.id = IN_ID LIMIT 1;
/* Delete record if it exists */
        DELETE
        FROM tablename
        WHERE entityID = LEGACY_EN_ID;
  1. 检查执行存储过程的用户是否有权限执行该操作。
  2. 这可以通过使用相同的用户直接连接mysql命令行并尝试执行存储过程中生成的查询来检查。或者创建一个简单的PHP脚本,使用mysql_query直接调用delete sql。如果此操作成功,则可以访问。