2013-12-18 50 views
1

我有重新編號查詢一個問題:MySql的重編行導致NULL值

SET @i = 0; 
UPDATE jos_menu SET 
    ordering = (@i := @i + 1) 
    ORDER BY ordering ASC; 

我第一次在phpMyAdmin運行SET @i = 0查詢,則更新查詢,但它對於各個領域產生NULL值。

什麼可能是錯的?

謝謝:)

+1

奇怪,因爲它適合我 – Incognito

回答

0

你需要一個冒號:

SET @i := 0; 

正確的運營商的用戶定義的變量是:==

+0

感謝您的快速反應!我修復了結腸,但現在我有第二個問題。查詢顯示「0行受影響」。爲什麼它不更新列? – user3112031

+0

與大多數其他數據庫不同,使用mysql時,「受影響的行數」不包括值未更改的更新。如果您再次運行此更新*,您將得到零行影響。 – Bohemian

+0

現在我更改了ORDER BY字段,它會生成所有NULL值。我現在真的想知道還有什麼可以嘗試的:( – user3112031