SQL批量修改

renadg 2009-04-29 11:52:36
例如:
表:t1
字段:  username,pageid,company,branch
资料:   ht10 001 xxn ht10
ht10 002 xin hb10
hx11   001 xin hs10
      hx11   002 xxn ht10
......

问题1:如何批量修改将hx11 company和branch的资料改为与ht10相同的资料?
问题2:如果没有hx11的资料,如何新增与ht10相同的资料,且username要为hx11?
...全文
258 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
renadg 2009-04-29
  • 打赏
  • 举报
回复
哇,你好厉害!!!!
我怎么就想不到呢???嗨!
每次只会一些简单的,如果要绕弯子的,我就不会了,嗨!
不知道该如何锻炼思维能力.
ACMAIN_CHM 2009-04-29
  • 打赏
  • 举报
回复

问题2:如果没有hx11的资料,如何新增与ht10相同的资料,且username要为hx11?

mysql> delete from t1 where username='hx11';
Query OK, 2 rows affected (0.06 sec)

mysql> select * from t1;
+----------+--------+---------+--------+
| username | pageid | company | branch |
+----------+--------+---------+--------+
| ht10 | 001 | xxn | ht10 |
| ht10 | 002 | xin | hb10 |
+----------+--------+---------+--------+
2 rows in set (0.00 sec)

mysql> insert into t1
-> select 'hx11',pageid,company,branch from t1 where username='ht10';
Query OK, 2 rows affected (0.06 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from t1;
+----------+--------+---------+--------+
| username | pageid | company | branch |
+----------+--------+---------+--------+
| ht10 | 001 | xxn | ht10 |
| ht10 | 002 | xin | hb10 |
| hx11 | 001 | xxn | ht10 |
| hx11 | 002 | xin | hb10 |
+----------+--------+---------+--------+
4 rows in set (0.00 sec)

mysql>



ACMAIN_CHM 2009-04-29
  • 打赏
  • 举报
回复

问题1:如何批量修改将hx11 company和branch的资料改为与ht10相同的资料?
假设是pageid相同的资料。否则没办法更新的了。

mysql> select * from t1;
+----------+--------+---------+--------+
| username | pageid | company | branch |
+----------+--------+---------+--------+
| ht10 | 001 | xxn | ht10 |
| ht10 | 002 | xin | hb10 |
| hx11 | 001 | xin | hs10 |
| hx11 | 002 | xxn | ht10 |
+----------+--------+---------+--------+
4 rows in set (0.00 sec)

mysql> update t1 a,t1 b
-> set a.company=b.company,
-> a.branch=b.branch
-> where a.username='hx11'
-> and b.username='ht10'
-> and a.pageid=b.pageid;
Query OK, 2 rows affected (0.06 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> select * from t1;
+----------+--------+---------+--------+
| username | pageid | company | branch |
+----------+--------+---------+--------+
| ht10 | 001 | xxn | ht10 |
| ht10 | 002 | xin | hb10 |
| hx11 | 001 | xxn | ht10 |
| hx11 | 002 | xin | hb10 |
+----------+--------+---------+--------+
4 rows in set (0.00 sec)

mysql>


56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧