Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 程序不起作用_Mysql_Stored Procedures_Mysql Routines - Fatal编程技术网

Mysql 程序不起作用

Mysql 程序不起作用,mysql,stored-procedures,mysql-routines,Mysql,Stored Procedures,Mysql Routines,我在下面编写了从不同表中删除用户的存储过程。但不知何故,它不起作用。如果我将单个查询保留在过程中,它将工作,但如果我添加多个查询,它将不工作 DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `deleteUser`(IN `userid` INT) NO SQL BEGIN DELETE FROM `Table1` WHERE id=userid; DELETE FROM `Table2` WHERE user_id=us

我在下面编写了从不同表中删除用户的存储过程。但不知何故,它不起作用。如果我将单个查询保留在过程中,它将工作,但如果我添加多个查询,它将不工作

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `deleteUser`(IN `userid` INT)
    NO SQL
BEGIN
DELETE FROM `Table1` WHERE id=userid;
DELETE FROM `Table2` WHERE user_id=userid;
DELETE FROM `Table3` WHERE userid=userid;
END$$
DELIMITER ;

我无法重现这个问题:

DROP PROCEDURE IF EXISTS `deleteUser`;
DROP TABLE IF EXISTS `Table3`, `Table2`, `Table1`;

CREATE TABLE IF NOT EXISTS `Table1` (
    `id` INT
);

CREATE TABLE IF NOT EXISTS `Table2` (
    `user_id` INT
);

CREATE TABLE IF NOT EXISTS `Table3` (
    `userid` INT
);

INSERT INTO `Table1` VALUES (100), (200), (300), (400);
INSERT INTO `Table2` VALUES (100), (600), (700), (800);
INSERT INTO `Table3` VALUES (100), (900), (1000), (1100);

SELECT `id` FROM `Table1`;
SELECT `user_id` FROM `Table2`;
SELECT `userid` FROM `Table3`;

DELIMITER \\

CREATE PROCEDURE `deleteUser`(IN `_userid` INT)
BEGIN
    DELETE FROM `Table1` WHERE `id` = `_userid`;
    DELETE FROM `Table2` WHERE `user_id` = `_userid`;
    DELETE FROM `Table3` WHERE `userid` = `_userid`;
END\\

DELIMITER ;

CALL `deleteUser`(100);

SELECT `id` FROM `Table1`;
SELECT `user_id` FROM `Table2`;
SELECT `userid` FROM `Table3`;

示例。

运行时有错误吗?当我使用phpmyadmin运行时,它没有显示任何错误吗?