2016-08-12 56 views

回答

0

built-in autoincrementing algorithm不能這樣工作。

要計算下一個IDForUser值,請搜索具有相同UserID(或零)的最大現有值,並添加一個值。 如果你不想這樣做在你的代碼,你必須使用一個trigger

CREATE TRIGGER xxx 
AFTER INSERT ON MyTable 
FOR EACH ROW 
WHEN NEW.IDForUser IS NULL 
BEGIN 
    UPDATE MyTable 
    SET IDForUser = IFNULL((SELECT MAX(IDForUser) 
          FROM MyTable 
          WHERE UserID = NEW.UserID), 0) + 1 
    WHERE ID = NEW.ID; 
END;