mysql - 创建一个存储过程,在输入该行的 ID 时删除该行

标签 mysql sql

我的存储过程在语法和逻辑上都有问题。我在 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/

相关文章:

mysql - SQL,在字段值末尾具有数据格式的过滤模式

php - MYSQL查询两个不同字段的表

php - 如何在ajax函数中调用php文件?

mysql - mysql 错误1064

sql - 如何为连接数据获取单独的行?

sql - 在 sqldf/R 中的情况

sql - 如果记录存在,则更新,否则插入

sql - 转义 SELECT 语句以将 a 存储在列中

PHP 未定义索引 - sortby

mysql - 当该类别的任务插入到任务表中时,我想增加该类别的任务计数