2014-02-07 40 views
1

我試圖efficienty過程做一查詢這個如何爲這樣的事情

mysql_query("UPDATE settings SET value = '" . time() . "' WHERE setting='roundtime'"); 
mysql_query("UPDATE settings SET value = '" . $curusers . "' WHERE setting='currentusers'"); 
mysql_query("UPDATE settings SET value = '" . $settingNum. "' WHERE setting='settingNum'"); 

我一直在使用INNER JOIN和其他東西的選擇的,但我不知道我怎麼會用更新在這個結構中的東西。

+0

沒有多數民衆贊成在錯誤,我試圖在不同的地方立即更新所有的細胞在哪裏 – TheCryptKeeper

+0

不,它不是所有提到的帖子的重複。 – Rahul

回答

3

可以按如下方式編寫查詢:

UPDATE settings 
    set value = (case when setting = 'currentusers' then '" . $curusers . "' 
         when setting = 'roundtime' then '" . time() . "' 
         when setting = 'settingNum' then '" . $settingNum. "' 
       end) 
    where setting in ('roundtime', 'currentusers', 'settingNum'); 

有幾個問題。由於mysql_函數已被棄用,您應該使用參數,這也是一個SQL問題。您正在value中存儲不同類型的數據 - 不管其他兩種類型。這似乎不是一個好的數據庫設計。爲什麼這些不是列表中的列?

相關問題