MySQL 错误 #1064 中的语法错误
Syntax error in MySQL Error #1064
我正在尝试执行以下查询:
DELIMITER $$
USE user_access
CREATE PROCEDURE check_user_login(IN username VARCHAR(50),IN `password` VARCHAR(50))
BEGIN
SELECT 1
FROM user_access
WHERE UserName='$username' AND `Password`='$password'
END$$
DELIMITER ;
但是出现这个错误:
#1064 - 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 'CREATE PROCEDURE check_user_login(IN username VARCHAR(50),IN `password` VARCHAR(' at line 2
查询有什么问题?
在我看来,使用 user_access
和 create procedure
之间没有区别,也许这会对您有所帮助:
USE user_access;
DELIMITER $$
CREATE PROCEDURE ...
另外,我觉得你的参数语法不对,你不希望 '$username'
只是 username
应该这样做,因为它是你的参数名称。
您在两个地方错过了 ;
。
DELIMITER $$
USE user_access; -- you missed the semicolon
CREATE PROCEDURE check_user_login(IN username VARCHAR(50), IN `password` VARCHAR(50))
BEGIN
SELECT 1
FROM `user_access`
WHERE UserName = username AND `Password` = `password`; -- you missed the semicolon
END$$
DELIMITER ;
我正在尝试执行以下查询:
DELIMITER $$
USE user_access
CREATE PROCEDURE check_user_login(IN username VARCHAR(50),IN `password` VARCHAR(50))
BEGIN
SELECT 1
FROM user_access
WHERE UserName='$username' AND `Password`='$password'
END$$
DELIMITER ;
但是出现这个错误:
#1064 - 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 'CREATE PROCEDURE check_user_login(IN username VARCHAR(50),IN `password` VARCHAR(' at line 2
查询有什么问题?
在我看来,使用 user_access
和 create procedure
之间没有区别,也许这会对您有所帮助:
USE user_access;
DELIMITER $$
CREATE PROCEDURE ...
另外,我觉得你的参数语法不对,你不希望 '$username'
只是 username
应该这样做,因为它是你的参数名称。
您在两个地方错过了 ;
。
DELIMITER $$
USE user_access; -- you missed the semicolon
CREATE PROCEDURE check_user_login(IN username VARCHAR(50), IN `password` VARCHAR(50))
BEGIN
SELECT 1
FROM `user_access`
WHERE UserName = username AND `Password` = `password`; -- you missed the semicolon
END$$
DELIMITER ;