创建不存在时增加值的过程(语法错误)
Creating procedure that add value when it doesn't exist (Syntax error)
我正在尝试创建一个过程来添加一个不存在的值,但我目前遇到语法错误。我不知道如何纠正错误。任何帮助将不胜感激!
Error Code: 1064. 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 'WHERE NOT EXISTS (SELECT * FROM Animals WHERE Name = animalName); END' at line 5
Delimiter //
CREATE PROCEDURE AddUniqueName (In animalName varchar(100) )
BEGIN
INSERT INTO Animals (Name)
SELECT animalName
WHERE NOT EXISTS (SELECT * FROM Animals WHERE Name = animalName);
END //
Delimiter ;
对 uniq 键使用 INSERT IGNORE 语句。
假设您有 table
create table Animals( name varchar(255) unique key);
然后
Delimiter //
CREATE PROCEDURE AddUniqueName (In animalName varchar(100) )
BEGIN
INSERT IGNORE INTO Animals (Name) values(animalName);
END //
Delimiter ;
我正在尝试创建一个过程来添加一个不存在的值,但我目前遇到语法错误。我不知道如何纠正错误。任何帮助将不胜感激!
Error Code: 1064. 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 'WHERE NOT EXISTS (SELECT * FROM Animals WHERE Name = animalName); END' at line 5
Delimiter //
CREATE PROCEDURE AddUniqueName (In animalName varchar(100) )
BEGIN
INSERT INTO Animals (Name)
SELECT animalName
WHERE NOT EXISTS (SELECT * FROM Animals WHERE Name = animalName);
END //
Delimiter ;
对 uniq 键使用 INSERT IGNORE 语句。
假设您有 table
create table Animals( name varchar(255) unique key);
然后
Delimiter //
CREATE PROCEDURE AddUniqueName (In animalName varchar(100) )
BEGIN
INSERT IGNORE INTO Animals (Name) values(animalName);
END //
Delimiter ;