'IF EXISTS'附近的Synatx错误

时间:2017-09-06 06:31:01

标签: mysql sql

我想解决一个错误。 虽然我正在考虑这个问题,但我遇到了一个错误。

IF EXISTS (SELECT * FROM category_info WHERE category_name = 'Electronics')
BEGIN
select * from category_info;
END
ELSE 
BEGIN
     insert into category_info(category_name) values('Electronics');
END

错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'IF EXISTS附近(SELECT * FROM category_info WHERE category_name =   '电子')BEG'在第1行

我需要帮助,提前致谢

1 个答案:

答案 0 :(得分:0)

可以通过使用程序解决。

template<typename... Ts> struct is_tuple<std::tuple<Ts...>> : std::true_type {};
template<typename... Ts> struct is_tuple<const std::tuple<Ts...>> : std::true_type {};
template<typename... Ts> struct is_tuple<volatile std::tuple<Ts...>> : std::true_type {};
template<typename... Ts> struct is_tuple<const volatile std::tuple<Ts...>> : std::true_type {};

可以通过

调用此过程
delimiter $$
CREATE PROCEDURE Check_exists(IN categoryName  varchar(20))
BEGIN
IF EXISTS(SELECT * FROM category_info WHERE category_name = categoryName)
THEN 
    SELECT 'Already Exists' as status;
ELSE 
    INSERT INTO category_info(category_name) VALUES(categoryName); 
END IF;
END $$

如果存在,它将显示消息“已经存在”,否则它将插入一行。