在MYSQL函数问题中声明要返回的INT变量
我正在尝试构建一个mysql函数,该函数将值插入到表中,并返回插入的最后一个_id,在执行插入后应该是相同的。但是Xampp在我声明“last\u bill\u id”变量的行中给了我一个错误。有人能帮我理解我做错了什么吗 以下是该函数的代码:在MYSQL函数问题中声明要返回的INT变量,mysql,function,variables,insert,Mysql,Function,Variables,Insert,我正在尝试构建一个mysql函数,该函数将值插入到表中,并返回插入的最后一个_id,在执行插入后应该是相同的。但是Xampp在我声明“last\u bill\u id”变量的行中给了我一个错误。有人能帮我理解我做错了什么吗 以下是该函数的代码: CREATE FUNCTION insert_bill( client_id varchar (12), bill_date date ) RETURNS INT BEGIN DECLAR
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill = LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;
错误:#1064-INT有点不对劲。开始时需要另一个分隔符
DELiMiTER $$
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
DETERMINISTiC
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill := LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;
非常感谢,函数被创建了,但是当我执行以下操作时:选择insert_bill('111111111',STR_TO_DATE('18-03-2020','%d-%m-%Y');它给了我相同的错误我删除了“DETERMINISTIC”(确定性)并且它工作了,对于我的查询:选择insert_bill2('111111111',STR TO_TO_DATE('14-03-2020','%d-%m-%Y'))