MYSQL 5.0,事务回滚的问题
建表:插记录
SQL code:
create table tablename (id int,RQ1 datetime,RQ2 datetime)
-- select * from tablename
insert into tablename
select 1,'2009-01-01 10:00:00','2009-01-02 11:00:00' union
select 2,'2009-01-02 10:00:00','2009-01-04 10:30:00' union
select 3,'2009-01-03 10:00:00','2009-01-06 11:30:00'
存储过程,包含出错回滚
SQL code:
create PROCEDURE a(ia int )
begin
start TRANSACTION;
insert into tablename values(ia+1,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia+2,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia,'2009-01-01 10:00:00','2009-01-02 11:00:00');
-- ROLLBACK;
COMMIT ;
end
表里面,第一个字段id 是主键,这样就不允许插入重复值。。
call(1),这样插进去2,3,1
再CALL 3, 这样插进去4,5,3.。到3的时候,判断出来主键重复,希望执行回滚操作。。
这个存储过程应该怎么样修改??请高手帮忙看下。。
沙发自己坐,才对得起党的培养。
自己解决了
SQL code:
create PROCEDURE a(ia int )
begin
[color=#FF0000]declare exit handler for sqlexception rollback;[/color]
start TRANSAC
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
我有一个java环境下的程序,在本机运行正常,但发布到网的虚拟主机时不能连接数据库连接池
jdk 1.6 tomcat6.0.18 mysql5 mysqljdbc5.1.5
虚拟主机的技术人员说,只能配置局域的数据库连接池,也就是在M ......
在三十讲遇到这样一个问题就是运行代码时出现错误 Fatal error: Call to undefined method mysql::fetch_array() in D:\WWW\news\index.php on line 12
,我把mysql::fetch_array() 改成mysql::fetch_row() 又出现F ......
不知道是不是我的xampp有问题,mysql是图形化的!
一个ID组在我的mysql的表里面 2,5,8,7
点了排序,然后用PHP文件连接这个表显示表的信息时,ID的顺序还是不变!应该是2,5,7,8的吧升序排序后!
在PHP文件里 ......
我用的是MySQL Server5.0绿色版的,我给它开了3506端口
在有些计算机上,过没多久它就会自动关闭,但有些计算机上又不会
这个问题该怎么处理啊?
cmd --> F:\MySql\MySqlServer5.1\bin\mysqld --i ......