免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2608 | 回复: 11
打印 上一主题 下一主题

SQL语句问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-12 23:39 |只看该作者 |倒序浏览
5可用积分
mysql> select * from a;
+------+-----+-----+
| name | ida | idb |
+------+-----+-----+
| a    | 5   | 12  |
| b    | 6   | 5   |
+------+-----+-----+
2 rows in set (0.00 sec)

mysql> select * from b;
+------+-----+-----+
| name | ida | idb |
+------+-----+-----+
| b    | 5   | 6   |
+------+-----+-----+
1 row in set (0.00 sec)

当a表中的name字段值与b表中的name字段值相同时,将b表ida字段值赋给a表中的idb字段,将b表idb字段值赋给a表中的ida字段

mysql> update a,b set a.ida=b.idb,set a.idb=b.ida where a.name=b.name;  
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1  Changed: 0  Warnings: 0

记录没有被更新奇怪了,高手出招,解决下。

最佳答案

查看完整内容

mysql> select * from a;+------+-----+-----+| name | ida | idb |+------+-----+-----+| a | 5 | 12 || b | 6 | 5 |+------+-----+-----+2 rows in set (0.00 sec)mysql> select * from b;+------+-----+-----+| name | ida | idb |+------+-----+-----+| b | 5 | 6 |+------+-----+-----+1 row in set (0.00 sec)当a表中的name字段值与b表中的name字段值相同时,将b表ida字段值赋给a表中的idb字段,将b表id ...

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
2 [报告]
发表于 2009-08-12 23:39 |只看该作者
原帖由 Tim-Wang 于 2009-8-13 08:46 发表
改了就可以了,原来的数据为啥不行


mysql> select * from a;
+------+-----+-----+
| name | ida | idb |
+------+-----+-----+
| a    | 5   | 12  |
| b    | 6   | 5   |
+------+-----+-----+
2 rows in set (0.00 sec)

mysql> select * from b;
+------+-----+-----+
| name | ida | idb |
+------+-----+-----+
| b    | 5   | 6   |
+------+-----+-----+
1 row in set (0.00 sec)

当a表中的name字段值与b表中的name字段值相同时,将b表ida字段值赋给a表中的idb字段,将b表idb字段值赋给a表中的ida字段

mysql> update a,b set a.ida=b.idb,set a.idb=b.ida where a.name=b.name;  
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1  Changed: 0  Warnings: 0


这样的数值,怎么更新?已经是你需要更新后的结果了

论坛徽章:
0
3 [报告]
发表于 2009-08-12 23:49 |只看该作者
你认真看清楚了

论坛徽章:
0
4 [报告]
发表于 2009-08-13 00:01 |只看该作者

回复 #2 shujun579 的帖子

????

论坛徽章:
0
5 [报告]
发表于 2009-08-13 01:04 |只看该作者
没有符合条件的记录,很正常啊。a不等于b啊。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
6 [报告]
发表于 2009-08-13 08:28 |只看该作者
将b表中ida和idb的值修改下再测试

论坛徽章:
0
7 [报告]
发表于 2009-08-13 08:46 |只看该作者

回复 #5 ruochen 的帖子

改了就可以了,原来的数据为啥不行

论坛徽章:
0
8 [报告]
发表于 2009-08-13 10:14 |只看该作者
你的数据已经被更新了,但是你的数据刚好是一个特例,改后的数据跟改前的数据是一样的.
就好比你让一个叫bill gates的人改成名字是bill 姓是gates.

论坛徽章:
0
9 [报告]
发表于 2009-08-13 10:57 |只看该作者
funny question

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
10 [报告]
发表于 2009-08-13 12:19 |只看该作者
原帖由 wildlily980 于 2009-8-13 10:14 发表
你的数据已经被更新了,但是你的数据刚好是一个特例,改后的数据跟改前的数据是一样的.
就好比你让一个叫bill gates的人改成名字是bill 姓是gates.



从0 rows affected来看应该是没有更新
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP