上記のすべての問題を回避するために、私は次のようにうまく機能するように構築することができました!
DELIMITER $$
CREATE TRIGGER testbitcompatid BEFORE INSERT ON Table
FOR EACH ROW
BEGIN
SET @LAST_ROW = (SELECT MAX(id) FROM Table);
SET NEW.id = CASE WHEN @LAST_ROW IS NULL THEN 1 ELSE @LAST_ROW * 2 END;
END;
$$
DELIMITER ;
ほとんどの場合、最も高いid
を使用します 、log(2)
を取得します 対応するAUTO_INCREMENT
を提供します。 id
。次に、1
を追加します 、そしてそれを2
までパワーアップします 。
これが、他の人の頭痛の種を防ぐのに役立つことを願っています。