创建一个程序错误
CREATE PROCEDURE search
@id INT
AS
BEGIN
SET NO COUNT ON;
SELECT cteachID,
cfname,
cmname,
clname
FROM tbl_teacher
WHERE cteachID = @id
END
MySQL表示:文件创建一个程序错误
1064 - 你在你的SQL语法错误;检查 对应于您MariaDB的服务器版本正确的语法使用 附近手册“@id INT和BEGIN SET NO指望”在第2行
您可以在存储过程中发现MariaDB的文档在这里:https://mariadb.com/kb/en/library/create-procedure/
DELIMITER //
CREATE PROCEDURE search
(IN id INT)
BEGIN
SELECT cteachID,
cfname,
cmname,
clname
FROM tbl_teacher
WHERE cteachID = id;
END;
//
DELIMITER ;
除了这一点,你需要使用的分隔符关键字,因为您的创建过程使用开始/结束块。
你的代码是SQL服务器的工作。对于MySQL,存储的语法procedured有一些差异
DROP PROCEDURE IF EXISTS search;
DELIMITER $$
CREATE PROCEDURE search(IN id INT)
BEGIN
SELECT cteachID,
cfname,
cmname,
clname
FROM tbl_teacher
WHERE cteachID = id;
END$$
DELIMITER;
还是由于错误使用phpmyadmin的 –
你创建它的方式吗?如果你可以请发布错误信息,当你运行我的答案 –
是的,我运行它与phpmyadmin继承人错误 MySQL说:文档 #1064 - 你的SQL语法错误;请检查与您的MariaDB服务器版本对应的手册,以便在第8行''附近使用正确的语法 –
我认为mysql没有“SET NO COUNT ON”;命令它需要替换相当于 –
@KhánhBùiĐức好点;完全错过了那条线。仔细的校勘 – JohnLBevan