Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql中交换表中第一列的第一个值_Mysql_Sql - Fatal编程技术网

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

如何在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,其他行也一样。请有

我有一个表,我有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,其他行也一样。请有人帮助我

这可能对你有帮助

    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;

你可以

你有一个主键吗?这是一个很大的错误,你应该有一个主键来避免这些情况。但是这是一个查询我对数据做了一些事情我将如何声明我将以这种方式显示一些日期抱歉我没有得到你能详细说明我只想在一个查询中使用该功能吗