您可以使用此BEFORE INSERT触发器来替换零个id值-
CREATE TRIGGER trigger1 BEFORE INSERT ON table1 FOR EACH ROWBEGIN SET @id1 = NULL; IF NEW.id1 = 0 THEN SELECt COALESCE(MAX(id1) + 1, 1) INTO @id1 FROM table1; SET NEW.id1 = @id1; END IF; IF NEW.id2 = 0 THEN IF @id1 IS NOT NULL THEN SET NEW.id2 = 1; ELSE SELECt COALESCE(MAX(id2) + 1, 1) INTO @id2 FROM table1 WHERe id1 = NEW.id1; SET NEW.id2 = @id2; END IF; END IF;END
然后插入零值(id1或id2)以生成新值-
INSERT INTO table7 VALUES(0, 0, '1');INSERT INTO table7 VALUES(0, 0, '2');INSERT INTO table7 VALUES(1, 0, '3');INSERT INTO table7 VALUES(1, 0, '4');INSERT INTO table7 VALUES(1, 0, '5');...



