简体   繁体   English

MySQL存储过程忽略DELETE语句

[英]MySQL stored procedure ignores DELETE statement

I have this stored procedure which gets called from PHP Script. 我有从PHP脚本调用的此存储过程。 It has few select statement and a delete statement. 它几乎没有选择语句和删除语句。 Everything works fine apart from DELETE query does not get executed. 除了无法执行DELETE查询之外,其他所有操作都正常。 It gets ignored !! 它被忽略了! Please help. 请帮忙。 Thanks 谢谢

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. Check user who executes stored procedure have permission to do that. 检查执行存储过程的用户是否具有这样做的权限。
  2. This can be checked by directing connecting through mysql command line with same user and try to execute query which generated in stored procedure. 可以通过直接通过与同一用户的mysql命令行连接进行检查,并尝试执行在存储过程中生成的查询,以进行检查。
  3. Or create a simple PHP script and call directly delete sql using mysql_query. 或创建一个简单的PHP脚本,然后使用mysql_query调用直接删除sql。 If this success then you have access. 如果成功,则您可以访问。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM