0

我正在尝试创建一个 MYSQL 过程,该过程将根据一些条件删除一些记录,但是syntax error当我在过程中没有语句并且只用查询SELECT填充它时,我继续得到一个。DELETE

我正在尝试从child表中删除记录,但我找不到任何删除记录的 MYSQL 过程。

有没有人有任何你想分享的例子?我已经坚持了一天了。任何帮助都感激不尽

delimiter //
CREATE PROCEDURE remove_records()
BEGIN
    DELETE FROM Sports
    WHERE   (Sports.idPerson= Person.idPerson) 
    AND     (Person.Country ='New Zealand')
    AND     (Sports.levelID= 1)
    AND     (Sports.difficulty = 5);    
    END
    //
    delimiter;
4

1 回答 1

2

为了执行 DELETE 并连接到另一个表,您需要使用以下语法:

DELETE s FROM Sports s 
INNER JOIN Person p ON p.IdPerson = s.IdPerson
WHERE 
     p.Country = 'New Zealand'
     AND s.levelID = 1
     AND s.difficulty = 5;  

参考:删除语法

于 2013-08-18T07:55:51.703 回答