Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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
Php 如何在不删除旧数据的情况下更新数据库中的数据?_Php_Mysql - Fatal编程技术网

Php 如何在不删除旧数据的情况下更新数据库中的数据?

Php 如何在不删除旧数据的情况下更新数据库中的数据?,php,mysql,Php,Mysql,我想知道如何做到这一点。假设我的数据库中有“first”,如果我想更新并添加“second”,我可以使用“first,second”格式。 我使用了这个更新表SET number=“second”,但它删除了“first”。 我正在使用php和mysql, 谢谢我想你的意思是: // if number is "first", it will become "first, second" UPDATE table SET number = CONCAT(number, ", second")

我想知道如何做到这一点。假设我的数据库中有“first”,如果我想更新并添加“second”,我可以使用“first,second”格式。 我使用了这个
更新表SET number=“second”
,但它删除了“first”。 我正在使用php和mysql, 谢谢

我想你的意思是:

// if number is "first", it will become "first, second"
UPDATE table SET number = CONCAT(number, ", second")

但我认为这不是你需要的。你能解释一下你想做什么吗?

你选择的更新答案会给你想要的。我想补充一些你可能觉得有用的东西

UPDATE table SET number=concat_ws(",", number, "second")
因为您显然正在学习,所以让我们确保您也了解了一些相关的项目:

  • 数据库和代码备份:在开始玩之前,请确保原始文件的安全。如果出现问题,您始终可以从备份恢复并继续

  • 源代码控制:将代码置于源代码控制之下,以便在需要时可以返回到以前的版本

  • 产品和开发的分离:如果你参与生产,你有能力造成大量伤害。确保您在隔离的环境中工作


  • 这实际上是“first,second”,而不是“first,second”。您可以很容易地在函数callFWIW中的后面添加一个空格:如果您试图在数据库中存储列表,请不要这样做。而是将数据存储为单独的行,并在执行select时使用GROUP_CONCAT提取结果。如果在所有行的一列中存储多个项目,为什么要使用数据库?我看不出这两个答案的陈述有任何意义。正如Tatu allready提到的:请更详细地解释你的问题。我想做的就是在同一个类别中存储一些名称(最多5个),然后使用explode(“,”,$names);并使用“for”循环显示它们。你们认为这不是一个好方法吗?好吧,根据数据库的设计方式,名称应该在他们自己的表中,并引用他们相关的另一个表中的条目。