我的存储过程在语法和逻辑上都有问题。我在 sqlfiddle.com 上尝试时收到以下错误。
另外我不确定逻辑是否正确。无论如何,我可以通过输入 ID 进行检查,并且查询将返回一个表,其中包含 ID 的行已被删除?
创建一个名为delete_id的过程,它删除该ID所在的行
CREATE PROCEDURE DELETE_ID (ID_INPUT IN INT)
AS
BEGIN
DELETE FROM TABLE ALBUM WHERE ID=ID_INPUT;
END;
预期结果:输入一个Id,SQL将删除包含该ID的行
实际结果:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE ALBUM WHERE ID=ID_INPUT' at line 3
最佳答案
您需要在代码开头添加“DELIMITER//”,在末尾添加“//”。所以你的代码应该看起来像
DELIMITER //
CREATE PROCEDURE `DELETE_ID`(IN `ID_INPUT` INT)
BEGIN
DELETE FROM `ALBUM` WHERE `ID` = ID_INPUT;
END //
关于mysql - 创建一个存储过程,在输入该行的 ID 时删除该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55575814/