mysql区没高手 - MS-SQL Server / 基础类
我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
update user set name='55' where id=1(此时锁住等待A)
update user set name='66' where id=1(这个时候会出现死锁)
更新成功
如果换成删除的话就不会出现死锁状态,B会等待A提交后删除
如果将select换为排他锁的话B会等待A提交后更新
书中解释是B由于无法获取共享锁所以放入队列,A此时update与队列的B的update冲突造成死锁,
我认为的是B应该在A提交后才进行更新操作,此时为什么并没有提交就会发生冲突呢?而select设为排他锁就不会
共享锁与排他锁还有什么原理呢?谢谢
如果是sql server,则参考下面的一些文章.
SQL code:
1 如何锁一个表的某一行
A 连接中执行
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
select * from tablename with (rowlock) where id=3
waitfor delay '00:00:05'
commit tran
B连接中如果执行
update tablename set colname='10' where id=3 --则要等待5秒
update tablename set colname='10' where id<>3 --可立即执行
2 锁定数据库的一个表
相关问答:
执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......
sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊
随便搞一D版吧,
迅雷第一个就可以用
2000,2005都这样
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
请教高手:
以下是数据库中的三条记录,英文为字段名称
id planname TaskBeginTime Status
329 2010年03 ......
我用的是mysql6.0为什么一创建两个表这间用外键来连接时就说创建不了:can"nt create table ...
你的语句是什么?你的表是什么存储引擎? 如果是myisam 则不支持外键,你需要把表改为inndb
貼出SQL ......