Mysql Can';t创建存储过程:语法错误
我想做一个将用户插入表中的过程,但它还应该检查用户是否为18岁。我用一个Mysql Can';t创建存储过程:语法错误,mysql,procedure,Mysql,Procedure,我想做一个将用户插入表中的过程,但它还应该检查用户是否为18岁。我用一个if语句(“code>p\u datum\u rodjenja是用户的出生日期”)来“做”它。我不确定我的逻辑是否有效,因为我无法创建此过程:当我尝试运行查询时,出现以下错误: 语法错误。错误代码:1064 这是我的密码: delimiter # create procedure dodajKorisnikaProvjera ( IN p_ime varchar(15), IN p_prezime varc
if
语句(“code>p\u datum\u rodjenja是用户的出生日期”)来“做”它。我不确定我的逻辑是否有效,因为我无法创建此过程:当我尝试运行查询时,出现以下错误:
语法错误。错误代码:1064
这是我的密码:
delimiter #
create procedure dodajKorisnikaProvjera
(
IN p_ime varchar(15),
IN p_prezime varchar(15),
IN p_broj_telefona int,
IN p_datum_rodjenja date,
IN p_broj_vozacke int,
IN p_grad_id int
)
BEGIN
if(TIMESTAMPDIFF(p_datum_rodjenja,CURDATE()) >18) then
INSERT into korisnik(
ime,
prezime,
broj_telefona,
datum_rodjenja,
broj_vozacke,
grad_id)
VALUES(
p_ime,
p_prezime,
p_broj_telefona,
p_datum_rodjenja,
p_broj_vozacke,
p_grad_id
);
else
select'Korisnik mora imati vise od 18 godina.';
end if;
END#
delimiter;
Timestampdiff函数中有错误。 请这样更正:
TIMESTAMPDIFF(year,p_datum_rodjenja,CURDATE()) >18)
如果条件是:(TIMESTAMPDIFF(year,p_datum_rodjenja,CURDATE())>18)Thx dude,则正确,它可以工作。如果你能帮助我,那“一年”是什么,我为什么要用它?这是一个很好的教程:Thx,现在我明白了;)