简单问题

wyzegg 2002-09-24 10:47:20
如何在一个表里,

col1 col2
1 a
1 b
1 c
1 d
现在我想把1对应的全部给2
结果
col1 col2
1 a
1 b
1 c
1 d
2 a
2 b
2 c
2 d
怎么写SQL语句
...全文
34 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuixin13 2002-09-24
  • 打赏
  • 举报
回复
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...

当然支持,
我用过
wyzegg 2002-09-24
  • 打赏
  • 举报
回复
MYSQL支持
insert into tb select 2,col2 from tb
这样的语句吗
shuixin13 2002-09-24
  • 打赏
  • 举报
回复
insert into tb select 2,col2 from tb

结果:
+-----+-----+
|col1 | col2|
+-----+-----+
|1 | a |
|1 | b |
|1 | c |
|1 | d |
|2 | a |
|2 | b |
|2 | c |
|2 | d |
+-----+-----+

update tb set col1=2 where col1=1
结果:
+-----+-----+
|col1 | col2|
+-----+-----+
|2 | a |
|2 | b |
|2 | c |
|2 | d |
+-----+-----+

wyzegg 2002-09-24
  • 打赏
  • 举报
回复
我需要把
2 a
2 b
2 c
2 d
插入数据库中,就是说包1的col2的值插入数据库中把1变为2。
shuixin13 2002-09-24
  • 打赏
  • 举报
回复
呵呵,
MySQL还不支持Union

用这个吧

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...



insert into tb select 2,col2 from tb
dejoy 2002-09-24
  • 打赏
  • 举报
回复
简单
select col1,col2 from tb union select 2,col2 from tb
dejoy 2002-09-24
  • 打赏
  • 举报
回复
4.0以上版本就支持union了,不知你用什么版
anziqi 2002-09-24
  • 打赏
  • 举报
回复
select if(a.clo1=1,2,a.col1) col1,a.col2,b.col1,b.col2 from table1 a,table1 b,
不知行不行.
yu_dx 2002-09-24
  • 打赏
  • 举报
回复
to shuixin13(犬犬(心帆)):
在insert into .... select ....语句中
同一表不能出现两次
yu_dx 2002-09-24
  • 打赏
  • 举报
回复
what's the version of your mysql?
mysql 4.1(at list) support subselect
mysql 4.0(at list) support union
wyzegg 2002-09-24
  • 打赏
  • 举报
回复
问题在我这里通不过,提示错误Not unique table/alias: 'tab',我用的是INNODB

56,677

社区成员

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

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