उपरोक्त सभी मुद्दों को हल करने के लिए, मैं निम्नलिखित का निर्माण करने में सक्षम था जो बहुत अच्छा काम करता है!
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 . तक है .
मुझे आशा है कि यह दूसरों के लिए सड़क के नीचे कुछ सिरदर्द को रोकने में मदद करता है।