mysql>delimiter //
mysql>create procedure add_student
(
in student_id decimal(10),
in name varchar(20),
in course varchar(10),
in address varchar(10),
in bday varchar(15),
in gender varchar(10))
begin
if exists(select *from student_id where student_id=student_id)
select'student alredy exist'
else
select'New student added'
insert into student values(student_id,name,course,address,bday,gender)
endif
end;
//
plzzz帮助
答案 0 :(得分:0)
根据您的评论下方的评论(应进行修改):
在student_id
上设置一个唯一键(如果尚未完成)并使用INSERT IGNORE
。
如果使用IGNORE关键字,则会忽略执行INSERT语句时发生的错误。例如,如果没有IGNORE,则复制表中现有UNIQUE索引或PRIMARY KEY值的行会导致重复键错误,并且语句将中止。使用IGNORE,该行将被丢弃并且不会发生错误。虽然重复键错误没有,但忽略错误可能会生成警告。
表示如果插入已存在的新行,则会跳过该行。这是您的if -> else
部分。