开发者

table lock while creating table using select

Us开发者_开发知识库ing mysql version 5.0.18 I am creating a table TT, Client 1 set autocommit = false; start transaction Create table TT select * from PT;

PT has tow columns pk bigint not null,name varchar(20)

Client 2 set autocommit = false start transaction insert into PT values(123,'text'); While inserting a row in PT , it is waiting for the table Client 1 to commit. I am unable to insert the row. why? Is it possible to insert the row without waiting for Client 1 to commit.


From what I have seen, MySQL locks tables sometimes, even during a select statement. Read this for more info if you are interested. But it seems to say that InnoDB tables use row-level locking, while many other table types use table-level locking. You can see what you have by typing show table status from dbname.

Hope this helps.

UPDATE: Of course, having said that, I went to test my understanding and I was wrong. It locks regardless of whether it is isam or innodb.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜