【发布时间】:2014-06-27 15:35:04
【问题描述】:
我有这个从 PHP 脚本调用的存储过程。它有很少的选择语句和删除语句。除了 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;
【问题讨论】:
-
生成一些 SQL Fiddle 示例,产生错误并将其与您的查询一起发布。
-
被忽略或条件导致没有相关记录
-
@Randy 没有提交任何地方。
-
@TonyHopkinson 如果我在删除查询中对 id 进行硬编码,它可以工作,但我确实检查了 LEGACY_EN_ID 是否有一个值,因为当我在存储过程中打印 SELECT LEGACY_EN_ID 时它确实显示了一个 id...
-
有点猜想刚刚注意到您使用的是 CHAR(50) 而不是 VarChar(50)...
标签: php mysql sql stored-procedures procedure