A+

mysql 存储过程判断重复。插入前执行存储过程,保证指定三个字段不重复时才可插入,但是现在做不到,也不报错,求指点

DELIMITER $$
CREATE PROCEDURE insert_pro(IN xm VARCHAR(255),IN bh int(11),IN sd int(11))
BEGIN
DECLARE $existsFlag int DEFAULT 0;
START TRANSACTION;
SELECT id a INTO $existsFlag from zy where name=xm and number=bh and sid=sd;
IF 'a' >0
THEN #
IF NOT EXISTS (SELECT * FROM zy WHERE name=xm) THEN
INSERT INTO zy(name,number,sid) VALUES(xm,bh,sd);
END IF;
END $$
已邀请:

For.U   内蒙古自治区包头市   WindowsNT

赞同来自:

可以了。
DELIMITER $$
CREATE PROCEDURE insert_pro(IN xm VARCHAR(255),IN bh int(11),IN sd int(11))
BEGIN
DECLARE $existsFlag int DEFAULT 0;
SELECT id  INTO $existsFlag from zy where name=xm and number=bh and sid=sd;
IF $existsFlag =0
THEN 
INSERT INTO zy(name,number,sid) VALUES(xm,bh,sd);
END IF;
END $$

要回复讨论请先登录注册