MSSQL和MySQL中,如何将两列字段的值互相交换的问题



注:1、MSSQL是指微软的SQLServer数据库服务器。2、MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。

 

言归正传:

如何实现将数据库两列字段的值交换。两种办法:一、写程序,对每条数据进行程序处理,交换内容。二、写SQL语句(这也是本文所介绍的)。

两个数据库的实现方法不同。在使用SQL语句前请备份你需要调整的表,以防不测。

在MSSQL中实现的方法:

UPDATE test1 SET field1 = field2, field2 = field1

 

在MySQL中实现的方法,(MySQL不能像上面这样写,不然会导致两列的结果都等于field2)。

UPDATE test1 t1,test1 t2 SET t1.field1=t1.field2,t2.field2=t2.field1

 

 该SQL语句运行的时间比较长,我4000行的数据,用了40秒左右。

 

作者:W_Edwin
出处:http://www.zhuober.com/
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

你可能感兴趣的:(数据库设计)