mysql更两列互换新
来源:互联网 发布:linux 解压缩文件命令 编辑:程序博客网 时间:2024/05/21 21:28
---------有where条件的更新,DDL不适用
mysql> select * from t001;
+------+-------+-------+
| id | name1 | name2 |
+------+-------+-------+
| 1 | a1 | b1 |
| 2 | a2 | b2 |
+------+-------+-------+
mysql> show create table t001;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t001 | CREATE TABLE `t001` (
`id` int(11) DEFAULT NULL,
`name1` varchar(10) DEFAULT NULL,
`name2` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> update t001 set name1=name2,name2=name1;
Query OK, 2 rows affected (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from t001;
+------+-------+-------+
| id | name1 | name2 |
+------+-------+-------+
| 1 | b1 | b1 |
| 2 | b2 | b2 |
+------+-------+-------+
2 rows in set (0.00 sec)
这没有达到我的需求
正确办法是
update t001
set name1=concat(name1,':',name2),
name2=substring_index(name1,':',1),
name1=substring_index(name1,':',-1)
mysql> select * from t001;
+------+-------+-------+
| id | name1 | name2 |
+------+-------+-------+
| 1 | b2 | a1 |
| 2 | b2 | a2 |
+------+-------+-------+
2 rows in set (0.00 sec)
如果字段类型是int的
update t001
set name1=name1+name2
,name2=name1-name2
,name1=name1-name2
- mysql更两列互换新
- mysql行列互换
- mysql 行列互换2
- mysql互换表中两列数据
- mysql表行列互换
- mysql表行列互换
- mysql互换表中两列数据方法
- mysql互换表中两列数据方法
- mysql 两个字段内容互换
- mysql互换表中两列数据方法
- mysql 行列互换,列列互换数据,数组列转多行数据
- mysql 子查询in与exists互换
- oarcle mysql 字段的区别和互换
- PHP和Mysql的Timestamp互换
- mysql和oracle中的to_date()/to_char()互换
- mysql和oracle中的to_date()/to_char()互换
- 在不增加新的变量情况下,值互换
- mysql日期date型和int型互换
- gcc/g++ 编译
- 符号文件——Windows 应用程序调试必备
- 高并发高访问量网站的优化
- 如何编写出高效的数据库连接池(附带完整代码C#和Java实现)
- 数据结构(C语言版)
- mysql更两列互换新
- MFC 消息处理 PeekMessage TranslateMessage DispatchMessage
- js-dom-动态创建html标签时,name属性的初始化问题
- python 使用pymssql连接sql server数据库
- POJ1258《Agri-Net》方法:Prim
- gSOAP 无法解析的外部符号 _namespaces
- C++新手题 练手题
- 为什么不能直接通过IP访问网站
- 卡尔曼滤波器