mysql存储过程重复提交_mysql存储过程如何防止插入重复记录

本文探讨了一个关于MySQL存储过程中出现重复记录的问题。在执行特定的存储过程后,发现每次都会生成两条相同记录而非一条。文章详细展示了创建表、存储过程的SQL语句及PHP调用过程,并寻求解决这一异常行为的方法。
摘要由CSDN通过智能技术生成

表结构CREATETABLE`tb_role`(`fd_role_id`int(4)NOTNULLAUTO_INCREMENT,`fd_role_no`varchar(20)NOTNULLDEFAULT'',`fd_role_name`varchar(20)NOTNULLDEFAULT'',`fd_role_state`varcha...

表结构

CREATE TABLE `tb_role` (

`fd_role_id` int(4) NOT NULL AUTO_INCREMENT,

`fd_role_no` varchar(20) NOT NULL DEFAULT '',

`fd_role_name` varchar(20) NOT NULL DEFAULT '',

`fd_role_state` varchar(4) NOT NULL DEFAULT '',

`fd_role_memo` text NOT NULL,

PRIMARY KEY (`fd_role_id`)

) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=gbk;

16 test001 test 1 testtest

15 test001 test 1 testtest

CREATE PROCEDURE `role_insert`()

begin

insert INTO tb_role (fd_role_name,fd_role_no,fd_role_memo,fd_role_state )

VALUES ('test','test001','testtest','1' );

end;

php调用存储过程:

$mysqli1= new DB_Mysqli();

$iquery="call role_insert()";

$mysqli1->call_sp($iquery);

$mysqli1->close_sp();

不知道为什么只要我执行这个存储过程,就会产生两条记录!但是记录PRIMARY KEY 是会自动增加的,而其他字段又是一样的,那位大哥帮帮忙啊??

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值