0
最新のMySQLを使用しています。MySQLでSELECTを使用してUPDATEを使用する方法
私は2つのテーブル:backlinks
とpages
を持っています。
cache_links
という名前の列を特定のURLのテーブルpages
に更新しようとしています。列は、backlinks
の行の数と同じでなければなりません。destination
= url
です。
ので、場合に私は何を意味することは明らかではないように私は自分のアプリケーション言語でこれを行うことができます:
$myURL = "http://google.com/";
$numLinksResult = mysqli_query($c, "SELECT count(*) AS `num` FROM `backlinks` WHERE `same_domain` = FALSE AND `url` = '$myURL'");
$numLinksRow = mysqli_fetch_assoc($numLinksResult);
$numLinks = $numLinksRow['num'];
mysqli_query($c, "UPDATE `pages` SET `links` = $numLinks WHERE `url` = '$myURL'");
私が構築しようとしてきたクエリは、現在次のようになります。
UPDATE `pages`, `backlinks` SET pages.`cache_links` = backlinks.count(*)
WHERE backlinks.`destination` = pages.`url`
AND backlinks.`same_domain` = FALSE
AND pages.`url` = 'http://google.com/'
問題は、backlinks.count(*)
にあると思います。私は何が間違っているのか分かりません。私が得るエラーは次のとおりです。
#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near '*)
WHERE backlinks.`destination` = pages.`url` AND backlinks.`same_' at line 1
何か助けていただければ幸いです。ありがとう、トン!
チャームのように働いた。私はあなたを愛しています - ありがとう!私はあなたの答えを〜7分で受け入れるでしょう。 –
あなたは2分でこれに答えました!それはある種のスピードレコードでなければなりません。 +1! –