2015-02-23 36 views
0

的PrestaShop問題加/減在SQL表

你好多個ID字段。我想知道是否可以在SQL表中添加/減去多個ID字段?我可以使用什麼聲明? (報價)example_tableps_product其中ps_categoryid_category < 79;

+0

你是什麼意思的「加/減多個ID字段」?你想達到什麼目的? – David 2015-02-23 20:01:08

+0

如果你的意思是'field1 + field2 + field3',那麼是可以的。我對你的問題有點不清楚,你能否提供你的SQL解決問題的嘗試,然後每個人都可以幫助你找到一個可行的解決方案。 – miltonb 2015-02-23 20:01:44

+0

我需要爲id_category列中的每個id_category上的79遞減id_category值1。 – user3733492 2015-02-23 20:10:26

回答

2

從對這個問題您的評論:

我需要各1 id_category遞減以上79 id_category值id_category柱內

您可以在UPDATE執行一個簡單的遞減聲明。像這樣的東西可能會奏效:

UPDATE 
    example_table 
SET 
    id_category = id_category - 1 
WHERE 
    id_category > 79 

這會發現每條記錄中example_table表,其中id_category大於79和更新每個這樣的記錄由1

遞減id_category要格外小心,像這樣。我這裏指出抵得上兩個潛在的問題:

  1. 如果這個過程之前,有79的id_category和一個80後,你將在這個過程之後,有兩個79。 > 79子句將不再找到相同的記錄集。我不知道這是否是你正在做的整體空間的問題,但是這是值得考慮的。
  2. 如果id_category標識符對於這些記錄,那麼不要這樣做。完全一樣。標識符不應該改變,因爲它們應該唯一且永遠地識別的記錄。