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>
手册上说不能在一次查询中多次使用一个已锁定的表,但是插入数据时是使用了两次啊,搞不懂手册上这样说是什么意思了。
这个在手册中有例子说明的。下面这是一个查
相关问答:
我之前导入的数据库,现在删除不了,用了命令行和工具都不行,重启也不行,这是为什么呢?
你是如何删除的?
有什么提示?
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
......
MYSQL 截取一个数据表中,某一个字段(fulltext) 的前三百个字符,放到该表下另一个字段(introtxt)里.
求实现这个效果的命令
SQL code:
update 表 set introtxt=left(`fulltext`,300);
顶,学习
SQL code: ......
假如数据库中有个test表,表中有id,Name,num,记录时间
id为自增长主键,name是名字,num表示其数量
1 nike 100 系统时间
2 nike 300 &n ......
我现在学习MYSQL,问下mysql储存过程如何建立和使用,最好写成$sql="sql语句",$re=mysql_query($sql);谢谢
建议你先自己看一下文档中的例子。
http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......
开发环境:php+mysql
table表中有一个字段starttime,时间格式形如:2009-09-18 10:15:16
现在想统计任意一年中的一个月数据,并按一个月中的天数统计记录数,$date 是php中定义的变量,格式形如:2009-09-18 ......