如何在mysql中交换表中第一列的第一个值
我有一个表,我有3列,其中第一列和最后一列是日期。所以我想要的是,我将交换第一行的第一列日期和最后一列日期。其他行将一如既往。日期将是动态的 桌子如何在mysql中交换表中第一列的第一个值,mysql,sql,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-01-23,其他行也一样。请有
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-01-23,其他行也一样。请有人帮助我 这可能对你有帮助
update mytable
set dateadded1 =(select dateadded2 from mytable where Name ='A'
, dateadded2 =(select dateadded1 from mytable where Name ='A')
where Name ='A'
您可以通过一个查询完成此操作:
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;
你可以你有一个主键吗?这是一个很大的错误,你应该有一个主键来避免这些情况。但是这是一个查询我对数据做了一些事情我将如何声明我将以这种方式显示一些日期抱歉我没有得到你能详细说明我只想在一个查询中使用该功能吗