在mySQL中更新行,保留列中的前一个条目,但在其旁边添加新值


Update the row in mySQL, keep the previous entry in column but add the new value next to it

在我的mySQL中有一个列visited,我保存访问者在我的页面中访问的页面的url。问题是当我使用

mysql_query("UPDATE general SET visited = '$_SERVER[REQUEST_URI]' WHERE token = '$cookie'");

它每次都被替换但我想要的是像page1.php page2.php page15.php在同一行

如何做到这一点?

您只需要将当前值与新值连接起来:

// Notice that you should check first if field visited already has
// $_SERVER[REQUEST_URI] value in it!
"UPDATE general 
 SET visited = concat(visited,  ',$_SERVER[REQUEST_URI]')
 WHERE token = '$cookie'";

PS:编辑,Rahul是对的,'+'操作符不会抛出错误,但也不会连接,所以使用concat函数完成。