2013-02-15 54 views
-1

我想添加一个额外的值到一个MySQL表列,例如:添加到MySQL列而不是替换?

该字段'照片'已经有一个图像名称,但我想添加另一个图像名称到字段使用PHP。

我以为INSERT只是将它添加到顶端,但它似乎取代了现有的图像名称。我想避免选择当前字段值,添加新值并在可能的情况下重新插入。

谢谢!

代码:

PHP:

$query = "INSERT INTO `listings-rent` (photos) VALUES ('$fileName') WHERE id = '$insertID'"; 
mysqli_query($mysqli, $query); 

的问题是这样的替换现有的值在 '照片' 一栏,而不是添加到它

+1

你有一些代码,所以我们可以看到什么事了? – 2013-02-15 23:48:01

+0

如何在插入语句中使用where子句?请修改您的查询 – Sebas 2013-02-15 23:50:31

+0

我想用'INSERT'试图'更新'。 – 2013-02-15 23:52:07

回答

0

高度气馁,将多个值保留在同一列中。但它当然是可能的。

UPDATE `photos` SET imagename = CONCAT(imagename, ",", $second_name) WHERE id=$insertID' 

然后您将使用explode在PHP获取字符串像数组:

array("image1.jpg", "image2.jpg") 
+0

中的右边行而不是每一行,或者您可以存储json以便于解码,但是,这是是一个SQL反模式 – 2013-02-15 23:54:53

+0

OMG为什么json?路径中没有“,”字符,并且JSON会使其变得更慢**。你让我想起那些[使用JSON比较数组]的人(http://stackoverflow.com/questions/7837456/comparing-two-arrays-in-javascript)。 – 2013-02-15 23:57:58

+0

我可以问为什么不建议将多个值存储在同一列? – rpsep2 2013-02-16 00:06:33

0

您插入一个WHERE语句。这不起作用。

尝试:

$query = "INSERT INTO `listings-rent` (photos,id) VALUES ('$fileName', $insertID)"; 
mysqli_query($mysqli, $query); 
相关问题