📄 lock.result
字号:
drop table if exists t1,t2;CREATE TABLE t1 ( `id` int(11) NOT NULL default '0', `id2` int(11) NOT NULL default '0', `id3` int(11) NOT NULL default '0', `dummy1` char(30) default NULL, PRIMARY KEY (`id`,`id2`), KEY `index_id3` (`id3`)) ENGINE=MyISAM;insert into t1 (id,id2) values (1,1),(1,2),(1,3);LOCK TABLE t1 WRITE;select dummy1,count(distinct id) from t1 group by dummy1;dummy1 count(distinct id)NULL 1update t1 set id=-1 where id=1;LOCK TABLE t1 READ;update t1 set id=1 where id=1;ERROR HY000: Table 't1' was locked with a READ lock and can't be updatedcreate table t2 SELECT * from t1;ERROR HY000: Table 't2' was not locked with LOCK TABLEScreate temporary table t2 SELECT * from t1;drop table if exists t2;unlock tables;create table t2 SELECT * from t1;LOCK TABLE t1 WRITE,t2 write;insert into t2 SELECT * from t1;update t1 set id=1 where id=-1;drop table t1,t2;CREATE TABLE t1 (index1 smallint(6) default NULL,nr smallint(6) default NULL,KEY index1(index1)) ENGINE=MyISAM;CREATE TABLE t2 (nr smallint(6) default NULL,name varchar(20) default NULL) ENGINE=MyISAM;INSERT INTO t2 VALUES (1,'item1');INSERT INTO t2 VALUES (2,'item2');lock tables t1 write, t2 read;insert into t1 select 1,nr from t2 where name='item1';insert into t1 select 2,nr from t2 where name='item2';unlock tables;check table t1;Table Op Msg_type Msg_texttest.t1 check status OKlock tables t1 write;check table t2;Table Op Msg_type Msg_texttest.t2 check error Table 't2' was not locked with LOCK TABLESinsert into t1 select index1,nr from t1;ERROR HY000: Table 't1' was not locked with LOCK TABLESunlock tables;lock tables t1 write, t1 as t1_alias read;insert into t1 select index1,nr from t1 as t1_alias;drop table t1,t2;create table t1 ( a int(11) not null auto_increment, primary key(a));create table t2 ( a int(11) not null auto_increment, primary key(a));lock tables t1 write, t2 read;delete from t1 using t1,t2 where t1.a=t2.a;delete t1 from t1,t2 where t1.a=t2.a;delete from t2 using t1,t2 where t1.a=t2.a;ERROR HY000: Table 't2' was locked with a READ lock and can't be updateddelete t2 from t1,t2 where t1.a=t2.a;ERROR HY000: Table 't2' was locked with a READ lock and can't be updateddrop table t1,t2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -