Mysql 错误1064(42000):您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册

Mysql 错误1064(42000):您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,mysql,mariadb,Mysql,Mariadb,第一个是根据您的IF条件删除select,第二个更改是exists 请尝试它应该存在而不存在创建过程sp_创建用户在p_电子邮件varchar80中,在p_用户名varchar45中,在p_密码varchar45中,如果选择存在,请开始从用户名=p_用户名的用户中选择1,然后选择“用户名存在!!”;否则,在用户电子邮件中插入用户名、密码值p_email、p_用户名、p_密码;如果结束;END$$ERRORupdated带有完整的存储过程脚本,请tryERROR 1064 42000:您的SQL语

第一个是根据您的IF条件删除select,第二个更改是exists


请尝试

它应该存在而不存在创建过程sp_创建用户在p_电子邮件varchar80中,在p_用户名varchar45中,在p_密码varchar45中,如果选择存在,请开始从用户名=p_用户名的用户中选择1,然后选择“用户名存在!!”;否则,在用户电子邮件中插入用户名、密码值p_email、p_用户名、p_密码;如果结束;END$$ERRORupdated带有完整的存储过程脚本,请tryERROR 1064 42000:您的SQL语法有错误;检查MariaDB服务器版本的制造商响应,了解使用neane 4的正确语法,然后选择“用户名存在!!”;你可以试试DBFIDDLE,查看链接谢谢~~谢谢~~谢谢~~谢谢~~
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'select 1 from user_info where user_id = p_user_id))THEN select 'Username Exits !' at line 3



CREATE PROCEDURE `sp_create_user`(IN p_user_id varchar(20),IN p_user_pw varchar(20))
BEGIN
IF (select exits (select 1 from user_info where user_id = p_user_id))THEN select 'Username Exits !!';
DELIMITER //
CREATE PROCEDURE sp_create_user( IN p_email varchar(80), IN p_username varchar(45), IN p_password varchar(45)) 
BEGIN 
    IF (exists (select 1 from user where username = p_username)) 
    THEN select 'Username Exists !!';
    ELSE 
        insert into user (email, username, password) values (p_email, p_username, p_password); 
    END IF; 
END //