0
我正在使用最新的MySQL。如何在MySQL中使用UPDATE SELECT
我有兩個表格:backlinks
和pages
。
我試圖更新cache_links
列pages
中某個URL。該列應等於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分鐘內接受你的回答。 – 2010-11-29 23:22:46