我不明白为什么以下SQL过程将不会存储在我的数据库中并报告错误,我已经使用了很久了,完全感到困惑。
DELIMITER $$
CREATE PROCEDURE add_brand(IN inBrandName TEXT)
BEGIN
DECLARE brandexists INT DEFAULT 0;
SELECT count(*) WHERE BrandName = inBrandName INTO brandexists;
IF brandexists = 1 THEN
select "exists";
ELSE
INSERT INTO tblBrand (BrandName) VALUES (inBrandName);
SELECT LAST_INSERT_ID();
END IF;
END
我得到的错误是这样的:
#1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以获取在'WHERE BrandName = inBrandName INTO brandexists附近使用的正确语法;如果品牌在第6行存在= 1 THEN sele'
有任何想法吗?
最佳答案
您缺少从中选择的表:
SELECT count(*) WHERE BrandName = inBrandName INTO brandexists;
^---here (from some_table)