如何使用多列文本值的串联更新列文本值?

时间:2015-08-09 17:14:04

标签: mysql sql sql-update

例如我的表结构就像

id(int, auto_increment), 
first_name(text), 
last_name(text), 
address(text), 
merged_content(text)

我有数千行已填充first_namelast_nameaddress条目。 我想更新merged_content 中的连续文字。我知道,如何在PHP中执行此操作,但更新数千条记录(apprx 30K)非常耗时。

所以,我希望如果可以直接在MySql中实现这样的东西 -

Update table_x set merged_content="<p>" + first_name + " " + last_name + "</p><p><b>Address -</b> " + address + "</p>"

显然上面的查询是错误的,不起作用,但我甚至找不到其他任何东西,我可以试试。

2 个答案:

答案 0 :(得分:3)

Mysql有一个名为concat的内置函数,您可以使用

Update table_x 
set 
merged_content=
concat('<p>',first_name,' ',last_name,'</p><p><b>Address -</b> ',address,'</p>'); 

答案 1 :(得分:0)

sql中的连接运算符不是||。它是+

将所有||替换为protected $viewsList = array('view1', 'view2', 'view3'); public function boot() { view()->composer($viewsList, function($view){ $extraInfo = 'the data you need'; $view->with("extra_info", $extraInfo); }); } 以使查询正常工作