mysql行锁的问题
以下第一个session:
mysql> begin;
Query OK, 0 rows affected
mysql> select id from items where reviewid=37 for update;
+--------+
| id |
+--------+
| 120041 |
| 120042 |
| 120043 |
| 120044 |
| 120045 |
+--------+
5 rows in set
================================================
以下第二个session
mysql> begin;
Query OK, 0 rows affected
mysql> update items set getsum=123 where reviewid=36;
为什么第二个session运行到这里会被锁住呢,第一个session锁的是reviewid为37的行啊,reviewid已经加了索引,直到第一个session运行commit后,第二个session才出现以下提示:
Query OK, 5 rows affected
Rows matched: 5 Changed: 5 Warnings: 0
补充:整个items表的结构为
CREATE TABLE `items` (
`id` int(11) NOT NULL auto_increment,
`reviewid` int(11) default '0',
`query` varchar(100) default NULL,
`query_cat` varchar(100) default NULL,
`title` varchar(100) default NULL,
`url` varchar(100) default NULL,
`pic_url` varchar(100) default NULL,
`sell_count` varchar(10) default NULL,
`credit` varchar(10) default NULL,
`nick` varchar(30) default NULL,
`good_rate` varchar(10) default NULL,
`getsum` int(11) unsigned
相关问答:
在安装Java编译器的Eclipse的时候,对环境变量进行了配置,在安装MySQl的时候也要对环境变量进行配置;那么后面的配置会影响前面的Eclipse的配置吗?
请大家多指教~!谢谢!
不会把,我这都装了的 我系统里 还装了 ......
我对SQL SERVER和ACCESS比较熟,所以数据库的通用基础东西可以说都掌握的差不多了,我现在想要的就是以上两数据库的独特之处的介绍和应用介绍。
另外书最好对应最新版本 oracle是11g吧 10的也行;mysql是5.1吧
谢 ......
我的Mysql 使用的时候 用dos建立的数据表 在dos中能显示出中文
但是在 其他的可视页面 和网页中都显示乱码 如何解决?
在mysql控制台:show variables like 'char%';贴结果出来看看。
mysql命令行模式下: ......
在C++程序中通过mysql的C API直接连接数据库,当把中文插入mysql的时候,就变成乱码了.
还有就是使用load把文本文件导入mysql数据库,无论文本文件是ANSI编码还是utf8编码,导入之后都是乱码。
其中mysq的编码格式 ......
如何用sql查看表的列长度
show create table xxx;
可以获得建表命令,再进行分析,应该能得到想要的信息
MySQL 5 以上,你可以从数据字典中查到
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE,CHAR ......