MySQL存储过程忽略DELETE语句

时间:2014-06-27 15:35:04

标签: php mysql sql stored-procedures procedure

我有这个从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 个答案:

答案 0 :(得分:0)

  1. 检查执行存储过程的用户是否有权这样做。
  2. 这可以通过指向与同一用户的mysql命令行连接来检查,并尝试执行在存储过程中生成的查询。
  3. 或者创建一个简单的PHP脚本并使用mysql_query直接调用delete sql。如果成功,那么您可以访问。