重命名两列还是交换值?哪一个更好?

时间:2016-09-28 08:49:21

标签: sql

我有一个包含超过150万条记录的表,其中我有两列A和B.错误地将A的列值插入到列B中,并将列B的值插入到A中。

最近我们才发现了这个问题。什么是纠正这个问题的最佳选择?重新命名列名称(我不知道它是如何可能的,因为如果我们将A改为B,B已经存在),或者交换两列中包含的值?

2 个答案:

答案 0 :(得分:1)

嗨,您可以使用以下查询来交换列

CREATE TABLE table_name_bkp AS SELECT * FROM table_name;

但是你在这种情况下有大量的约会重命名会很好。但由于数据问题而重命名列名称不是正确的解决方案。因此,您可以使用以上更新查询来更新您的数据。

在更新之前,请使用查询对要更新的表进行备份,

This solution is working 

var svgString = new XMLSerializer().serializeToString(document.querySelector('svg'));

        var canvas = document.getElementById("canvas");
        var ctx = canvas.getContext("2d");
        var DOMURL = self.URL || self.webkitURL || self;
        var img = new Image();
        //var svg = new Blob([svgString], {type: "image/svg+xml;charset=utf-8"});
        var svg = new Blob([svgString], {type: "image/svg+xml"});
        var url = DOMURL.createObjectURL(svg);

        var png = '';
        var emailConfirmationMessage = '';
        var img1 = new Image();

        img.onload = function() {
            ctx.drawImage(img1, 136, 136);
            ctx.drawImage(img, 0, 0);

            sendEmail(canvas,DOMURL);

        };

         img1.onload = function(){
           img.src = url;
         };
        img1.src = 'chart1.png';

在播放不会弄乱的原始数据时始终有备份

答案 1 :(得分:0)

对于SQL Server来说,15万行并不是什么大问题。切换列名在关系数据库中有许多缺点,例如索引,外键,也可能需要做很多影响。所以,我想建议去寻找传统的道路。只需进行更新。