如何在mysql中交换表中第一列的第一个值

时间:2015-04-03 09:08:56

标签: mysql sql

我有一个表格,我有3列,其中第一列和最后一列是日期。所以我想要的是我将第一列日期与最后一列仅交换第一行。其他行将照常进行。日期将动态

MyTable 
DateAdded1   Name  DateAdded2
 2015-01-23  A      2015-03-12
 2015-02-13  B      2013-03-19
 2015-04-23  C      2015-03-12

现在我的要求是,我将在2015-03-12交换2015-03-12的日期,其他行将是相同的。请有人帮助我。

2 个答案:

答案 0 :(得分:0)

它可能会帮助你

    update mytable 
    set dateadded1 =(select dateadded2 from mytable where Name  ='A'
, dateadded2 =(select dateadded1 from mytable where Name  ='A')
    where Name  ='A'

答案 1 :(得分:0)

您可以使用一个查询执行此操作:

update tbl
join
(select DateAdded2,
       name,
       DateAdded1
from tbl limit 1)q
on tbl.name=q.name
set tbl.DateAdded1=q.DateAdded2,
    tbl.DateAdded2=q.DateAdded1;

你可以check it.