2013-01-10 49 views
0

比方說,這是我的表:MySQL的:插入用相同的AI值多行

CREATE TABLE tab (
    id INT AUTO_INCREMENT NOT NULL, 
    val VARCHAR(9), 
    KEY(id), 
    PRIMARY KEY (xx) 
); 

請問有可能在同一時間的方式,他們都會得到相同的自動遞增插入多行值?

以下工作,但增加每個新行,無論我們正在做單個查詢的事實。

INSERT INTO tab (id,val) VALUES (LAST_INSERT_ID(),'a'), (LAST_INSERT_ID(),'b'); 

我如何確保它們在單個查詢中都收到相同的自動遞增ID?

+0

這種破壞auto_increment的整點!如果你想讓行共享一個共同的id,那麼使用除了自動遞增的id以外的東西來存儲它。請注意,使用MyISAM引擎時,任何自動遞增功能只需要成爲PK的一個組件。 – Strawberry

回答

0

您需要將第一個AI值保留在變量中,並將其傳遞給INSERT查詢中的不同對

+0

是的,我認爲是這樣。那麼絕對沒有其他辦法? – mae