表Id自增主键
create procedure p1()
begin
delete from table1 where date = curdate();
insert into table1 values (1,2,3,4,5,56,6);
insert into table1 values (1,2,3,4,5,56,6);
insert into table1 values (1,2,3,4,5,56,6);
-- 这里显示删除旧数据,再插入新数据,数据量会在1千行,所以需要几秒时间
-- 但是web程序会每5秒读取一次,这样就会读到空值,比如已经删除了,但还没插入呢。
-- 请问这种情况怎么办呢?存储过程中还不能锁表。
end
SET session transaction isolation level repeatable read;
start transaction;
....
commit;
貌似是个好主意。
这时候你需要修改你的想法,比如考虑一下WEB程序如何修改。
mysql数据库好像有自己的锁,在操作数据的时候会上锁,其他的连接是无法查询到上锁的数据,好像是这样
proc 里不能有锁