php - 如果列存在则mysql更新表(foreach)

标签 php mysql

我一直在玩这个:

foreach($textnode as $key => $value) {

$value = stripslashes($value);
 $value = mysql_real_escape_string($value, $con);

 mysql_query("INSERT INTO paragraphs (paragraphs, url)
 VALUES ('$value', '$url')");



}

我一直在尝试更新网址已存在的“段落”列

这似乎效果不佳,因为它只是将段落中的每一行替换为第一个段落。 (一遍又一遍地重复)

mysql_query("UPDATE paragraphs SET paragraphs = '$value'
 WHERE url = '$url'"); 

最佳答案

url 字段是否唯一?

如果没有,请为其添加 UNIQUE 约束并使用 INSERT INTO . . . ON DUPLICATE KEY UPDATE像这样的东西:

 mysql_query("INSERT INTO paragraphs (paragraphs, url)
                VALUES ('$value', '$url')
              ON DUPLICATE KEY
                UPDATE paragraphs = '$value'
             ");

或者(当url已经存在时,您想“追加”新的'$value'吗?):

 mysql_query("INSERT INTO paragraphs (paragraphs, url)
                VALUES ('$value', '$url')
              ON DUPLICATE KEY
                UPDATE paragraphs = CONCAT(paragraphs, '$value')
             ");

关于php - 如果列存在则mysql更新表(foreach),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603045/

相关文章:

javascript - 想要JS函数使用ajax运行PHP,然后在页面上输出PHP

php - Javascript 等效于 PHP 的 sscanf 函数?

mysql - 如何使用 Laravel 的 eloquent 使非主列在返回的结果集中唯一?

mysql - 查询不适用于 DATE_FORMAT

php - 如何将阿拉伯名称存储到 `mysql DB`

mysql - 如何计算行数,而不是计算每行

jquery表的php过滤函数

php - 将 CSS 存储在 PHP 变量中?

php - Controller 没有容器集,是不是忘记定义为服务订阅者了

php - 在 Codeigniter 中连接两个数据库