mysql lock table的一些疑问
手册上说:“
当您使用LOCK TABLES时,您必须锁定您打算在查询中使用的所有的表。虽然使用LOCK TABLES语句获得的锁定仍然有效,但是您不能访问没有被此语句锁定的任何的表。同时,您不能在一次查询中多次使用一个已锁定的表——使用别名代替,在此情况下,您必须分别获得对每个别名的锁定。
”。
不能在一次查询中多次使用一个已锁定的表,那么,如果我在执行的中间时候需要insert两次怎么办?
select * from tb1 where id=11;
insert into tb2 set aa=bb;
insert into tb2 set aa=cc;
update tb3 set xxx=555;
这样,怎么办?insert 语句不能使用别名吧?
没有任何问题啊。
你想问的是什么?
SQL code:
mysql> create table t_haosee (aa int);
Query OK, 0 rows affected (0.05 sec)
mysql> LOCK TABLES t_haosee WRITE;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t_haosee set aa=1;
Query OK, 1 row affected (0.03 sec)
mysql> insert into t_haosee set aa=2;
Query OK, 1 row affected (0.02 sec)
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t_haosee;
+------+
| aa |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
mysql>
手册上说不能在一次查询中多次使用一个已锁定的表,但是插入数据时是使用了两次啊,搞不懂手册上这样说是什么意思了。
这个在手册中有例子说明的。下面这是一个查
相关问答:
我用一个循环往数据库里面存文件,本来可以作为文件存放数据库里面只放文件的位置的,但是没有办法租的服务器网页空间大小有限制数据库没有限制。语句是这样的
public static final DataBase.MAXSIZE=102 ......
MySql中插入当前时间的该怎么写啊?
now()
SQL code:
sql里是:
getdate()
引用
now()
学习
SQL code:
select now();
SQL code:
TODAY()
?
SQL code:
select now();
/* ......
select * from table where '123456789' like '%'+字段表+'%'
这句sql在sqlserver下通过,在mysql下有报错,mysql下如何实现这样的查询呢
SQL code:
select * from table whe ......
大家好:
我是搞C的, 现在想用C 连接MYSQL,但是怎么也连接不了,我的代码如下:
#include <stdio.h>
#include "C:\Program Files\MySQL\MySQL Server 5.0\include\mysql.h"
......