12
返回列表 发新帖
楼主: 棉花糖ONE

mysql,不知道怎么说你

[复制链接]
论坛徽章:
138
19周年集字徽章-19
日期:2020-06-08 08:30:56马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02路虎
日期:2013-11-22 12:26:18问答徽章
日期:2014-05-08 12:15:31
11#
 楼主| 发表于 2008-6-5 21:51 | 只看该作者
这问题发这帖子的时候已经解决了,还有就是语法错误我还是看的出来的,只是手误,帖的时候也没去掉
mysql> insert into t(id,name) values(1);
ERROR 1136 (21S01): Column count doesn't match value count at row 1

mysql> select * from t;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  3 | a    |
+----+------+
2 rows in set (0.05 sec)

mysql> update t set id=id+2;
ERROR 1062 (23000): Duplicate entry '3' for key 1  

这个地方报错只能说明mysql的功能太弱,从这里可以看出,mysql的update是按行来更新的,而且更新后并检查是否违反约束

从关系数据库的角度来说,一个事务中做update不可能会出现这样的问题

使用道具 举报

回复
论坛徽章:
138
19周年集字徽章-19
日期:2020-06-08 08:30:56马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02路虎
日期:2013-11-22 12:26:18问答徽章
日期:2014-05-08 12:15:31
12#
 楼主| 发表于 2008-6-5 21:52 | 只看该作者
我也不是搞mysql的,只是我同学在处理的时候遇到问题,把问题丢给我而已,我举的例子只是模仿他的错误

使用道具 举报

回复
论坛徽章:
5
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53奥运会纪念徽章:游泳
日期:2008-10-24 13:22:07授权会员
日期:2009-03-16 16:29:00
13#
发表于 2008-7-3 14:16 | 只看该作者
棉花糖你还在读书呢,厉害。

使用道具 举报

回复
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
14#
发表于 2008-7-3 16:02 | 只看该作者
原帖由 棉花糖ONE 于 2008-6-5 21:51 发表
这问题发这帖子的时候已经解决了,还有就是语法错误我还是看的出来的,只是手误,帖的时候也没去掉
mysql> insert into t(id,name) values(1);
ERROR 1136 (21S01): Column count doesn't match value count at row 1

mysql> select * from t;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  3 | a    |
+----+------+
2 rows in set (0.05 sec)

mysql> update t set id=id+2;
ERROR 1062 (23000): Duplicate entry '3' for key 1  

这个地方报错只能说明mysql的功能太弱,从这里可以看出,mysql的update是按行来更新的,而且更新后并检查是否违反约束

从关系数据库的角度来说,一个事务中做update不可能会出现这样的问题


是这样的。。。。。InnoDB引擎是不会错的,MyISAM引擎需要
update t set id=id+2 ORDER BY id

使用道具 举报

回复
论坛徽章:
138
19周年集字徽章-19
日期:2020-06-08 08:30:56马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02路虎
日期:2013-11-22 12:26:18问答徽章
日期:2014-05-08 12:15:31
15#
 楼主| 发表于 2008-7-3 16:15 | 只看该作者
是的,楼上说的应该是对的,我早上看书的时候也想到,因为myisam引擎不支持事务,所以可能存在这问题,innodb应该ok,因为事务允许在事务过程中出现的临时不一致的情况,不过我还没测试

[ 本帖最后由 棉花糖ONE 于 2008-7-3 16:22 编辑 ]

使用道具 举报

回复
论坛徽章:
1
奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-28 22:49:36
16#
发表于 2008-7-4 07:23 | 只看该作者
試了下 InnoDB引擎 問題依舊.
+-----------+
| version() |
+-----------+
| 5.0.18-nt |
+-----------+看來MYSQL 沒有內建一個唯一標示

使用道具 举报

回复
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
17#
发表于 2008-7-4 10:05 | 只看该作者
很抱歉,我看到你这贴之后,特意去测试了下,确实两个引擎都会报错。。。。。。。。。。

但是在我印象中我曾这样做过。。。。而且是成功的。。。 不过现在没做MySQL了。。。。

使用道具 举报

回复
论坛徽章:
2110
亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18亚特兰大老鹰
日期:2015-01-05 11:33:18
18#
发表于 2008-7-5 13:28 | 只看该作者
学习一下的  友情帮顶

使用道具 举报

回复
论坛徽章:
2
2011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20
19#
发表于 2008-7-7 13:30 | 只看该作者
估计是设计MySql的人做梦也没有想到有人会这样用,应该报告上去。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表