在表之间要求唯一的ID的确很少见,但是这里有一个解决方案。
CREATE TABLE object_ids ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, object_type ENUM('event', ...) NOT NULL) ENGINE=InnoDB;CREATE TABLE events ( id INT UNSIGNED NOT NULL PRIMARY KEY, ... ConSTRAINT FOREIGN KEY (id) REFERENCES object_ids (id)) ENGINE=InnoDB;INSERT INTO object_ids(object_type) VALUES ('event');SET @id = LAST_INSERT_ID();INSERT INTO events (id, ...) VALUES (@id, ...);显然,您将为
events其他表复制表的结构。



