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