2012-10-07 78 views
1

我有兩個表結構如下選擇:SQL INSERT ...通過自動遞增DATETIME

userid, entrydatetime, record. 

tableA - 具有主鍵(userid, entrydatetime)

tableB - 沒有約束的設置。

我試圖做一個

INSERT INTO tableA SELECT * FROM tableB

,但我得到一個錯誤,因爲tableB具有所有相同useridentrydatetime

例如userid ='12345'和entrydatetime ='0000-00-00 00:00:00'。

我需要的tableB的主要數據是userid和記錄。對於這種情況,entryDateTime對我來說不那麼重要。

我該如何合併我的兩個表,但仍保留我的tableA主鍵約束?有沒有一種方法可以隨機或自動增量插入的entrydatetime字段?

+0

你怎麼能有兩列'用戶ID,entrydatetime'爲** **小學? –

+0

它被稱爲綜合主鍵 – venkatKA

+0

@zander不知道:D –

回答

2

您可以使用下面的查詢

SET @value = CURRENT_TIMESTAMP(); 
INSERT INTO tableA 
(user_id, entrydatetime, record) 
(SELECT user_id, @value := @value + INTERVAL 1 SECOND, record from tableB); 

希望它可以幫助...

+0

嗯,沒有爲我工作,因爲CURRENT_TIMESTAMP將仍然是我插入的所有記錄相同。 – chongzixin

+0

什麼是您的entrydatetime數據類型?是DATETIME還是TIMESTAMP? – Shubhansh

+0

其DATETIME。 :X – chongzixin