是否有與使用InnoDB MySQL數據庫的分組主鍵等價的並允許第二個鍵自動遞增?MySQL:使用InnoDB分組的主鍵
我想實現是一個表,基於父對象ID類似的店面形象網址:
CREATE TABLE images (
parent_id INT(11) NOT NULL,
image_id INT(11) AUTO_INCREMENT, //will this work with a grouped primary key?
source_url VARCHAR(255) NOT NULL,
caption VARCHAR(255) NOT NULL,
) ENGINE = InnoDB;
所以對MyISAM我可以這樣做:
PRIMARY KEY(parent_id, image_id)
[編輯]使用觸發器會是這樣的:(對不起,我的SQL不是很強)
delimiter //
DROP TRIGGER IF EXISTS test_img_trigger;
CREATE TRIGGER test_img_trigger BEFORE INSERT ON venue_images
FOR EACH ROW
BEGIN
DECLARE img_id INT UNSIGNED DEFAULT 0;
SELECT image_id + 1 INTO img_id FROM venue_images WHERE venue_id = NEW.venue_id;
UPDATE venue_images SET image_id = img_id WHERE venue_id = NEW.venue_id;
END IF;
END;//
delimiter;
使分組列的關鍵,而不是使其主鍵 – diEcho