Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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_Set - Fatal编程技术网

将MySql数据从两列移动到一列

将MySql数据从两列移动到一列,mysql,sql,set,Mysql,Sql,Set,我有一个数据库,其中有多个列表示相同类型的数据。为了精简数据库并使其更易于将来使用,我想将这些列中的数据合并到一个数据库中。我的问题是我不知道这个操作的SQL。这方面的大多数搜索结果只向我提供结果集,但我希望对数据库进行永久性更改 我知道如何在两列之间更新,但不知道如何将数据从多列移动到一列 到目前为止我已经试过了 UPDATE db SET firm = firm_stone AND firm_concrete 及 及 这个SQL显然是错误的,因为它给了我一个错误:#1064-您的S

我有一个数据库,其中有多个列表示相同类型的数据。为了精简数据库并使其更易于将来使用,我想将这些列中的数据合并到一个数据库中。我的问题是我不知道这个操作的SQL。这方面的大多数搜索结果只向我提供结果集,但我希望对数据库进行永久性更改

我知道如何在两列之间更新,但不知道如何将数据从多列移动到一列

到目前为止我已经试过了

    UPDATE db SET firm = firm_stone AND firm_concrete


这个SQL显然是错误的,因为它给了我一个错误:#1064-您的SQL语法中有一个错误

您必须将这两个列的值连接到一个字符串,以将其保留在同一列中

UPDATE db.tablename SET firm = concat_ws(' ',firm_stone, firm_concrete); 

在这里,
一个空白处将放置两个字符串。你可以用你自己的

您必须将这两列的值连接到一个字符串中,才能将其保留在同一列中

UPDATE db.tablename SET firm = concat_ws(' ',firm_stone, firm_concrete); 

在这里,
一个空白处将放置两个字符串。你可以用你自己的

你想连接这两列吗?请参阅
firm_stone+firm_concrete
?@ChrVik如果我的答案对你有用,请在答案上加上记号。你想连接这两列吗?请参阅
firm_stone+firm_concrete
?@ChrVik如果我的答案对你有用,请在答案上加上记号。行!,谢谢你的帮助!不客气@ChrVik。如果可以的话,请稍做跟进。如何在不删除数据的情况下从另一列中提取数据?我发现另一列也需要添加到firm中,但我担心以前操作中的一些数据将被零值覆盖。
concat_ws()
method允许将2或3个以上的值添加到concat,并自行处理null。在运行删除sql之前,不会删除任何数据或列值。更不礼貌的是,不要害怕,只需用样本表进行实验,看看实际发生了什么。很有效!,谢谢你的帮助!不客气@ChrVik。如果可以的话,请稍做跟进。如何在不删除数据的情况下从另一列中提取数据?我发现另一列也需要添加到firm中,但我担心以前操作中的一些数据将被零值覆盖。
concat_ws()
method允许将2或3个以上的值添加到concat,并自行处理null。在运行删除sql之前,不会删除任何数据或列值。更不礼貌的是,不要害怕,只要用样本表做实验,看看实际发生了什么。
UPDATE db.tablename SET firm = concat_ws(' ',firm_stone, firm_concrete);