[英]mysql update table if column exists (foreach)
我一直在玩這個:
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')");
}
我一直在嘗試更新 url 已經存在的“段落”列
這似乎效果不佳,因為它只是用第一段替換段落中的每一行。 (一遍又一遍地重復)
mysql_query("UPDATE paragraphs SET paragraphs = '$value'
WHERE url = '$url'");
url
字段是否唯一?
如果不是,則在其上添加一個 UNIQUE 約束並使用INSERT INTO. . . ON DUPLICATE KEY UPDATE
INSERT INTO. . . ON DUPLICATE KEY UPDATE
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')
");
嘗試運行查詢
SELECT paragraphs, url
FROM paragraphs;
看看你的桌子真正包含什么。 可能是您已將所有相同的 URL 放入表中。 這將解釋更新行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.