我使用一個查詢插入多行,顯然,ID列自動遞增每行。我想創建另一個ID列,並且ID在查詢期間插入的所有行保持不變。所以如果我在一個查詢期間插入10行,我希望所有10行都有ID「1」。如何才能做到這一點?感謝您的幫助插入具有相同唯一ID的多行
2
A
回答
9
如果我正確理解您的問題,您希望爲特定的INSERT
語句組提供ID
。
Assumming你有這樣的架構
CREATE TABLE TableName
(
RecordID INT AUTO_INCREMENT PRIMARY KEY,
OtherColumn VARCHAR(25) NOT NULL,
GroupID INT NOT NULL
)
你可以有這樣兩個語句:獲取最後GroupID
1)和1
增加它。
SELECT COALESCE(MAX(GroupID), 0) + 1 AS newGroupID FROM TableName
2.)一旦你已經執行它,將值存儲在一個變量中。使用此變量對所有的INSERT語句,
$groupID = row['newGroupID'];
$insert1 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('a', $groupID)";
$insert2 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('b', $groupID)";
$insert3 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('c', $groupID)";
更新1
+2
正是我期待的。非常感謝! – Alex 2013-04-22 02:36:25
+1
不客氣':D' – 2013-04-22 02:36:41
相關問題
- 1. Sql插入選擇 - 具有唯一列ID的多行
- 2. 加入具有相同ID
- 3. 插入具有不同ID的多個行
- 4. MYSQL,只有來自colum的具有多個相同值行的唯一id的第一行?
- 5. MySQL;做一個單列如果多行具有相同的ID
- 6. 在一個表中更新具有相同ID的多行
- 7. SQL - 如何選擇具有相同ID的多行的第一行(或任何唯一行)?
- 8. 選擇具有唯一ID的行
- 9. 找到了具有相同ID「'的多個控件。 FindControl需要控件具有唯一的ID
- 10. 幫助找到具有相同ID「'的多個控件。 FindControl需要控件具有唯一的ID
- 11. LOOP將數據插入到具有唯一ID的表中
- 12. 插入到兩個表具有相同的數據庫,但shaing相同的ID
- 13. 具有相同ID的平均行
- 14. 爲具有多列的唯一行分配唯一的ID名稱
- 15. 將多行唯一行插入表
- 16. 從具有相同的ID
- 17. JQuery的具有相同ID
- 18. 將多行具有相同ID字段成一排,加入neccessary列
- 19. 在Redis中插入更多具有相同ID的項目到哈希中
- 20. SQL - 根據ID移除具有多個唯一日期的行
- 21. 更好的同步方式插入具有唯一記錄號
- 22. ColdFusion&MSSQL:如何在一次提交中插入具有一個唯一ID的多行
- 23. 檢查具有相同ID的輸入文本是否具有相同的值
- 24. 用一個查詢插入具有不同數據的多行
- 25. 選擇具有相同的ID行,並選擇剩餘行不相同的ID
- 26. 複製值從一行到所有行具有相同組ID
- 27. 錯誤幫助::找到具有相同ID'ctl00'的多個控件。 FindControl需要控件具有唯一的ID
- 28. 找到了具有相同ID'DXSelBtn0'的多個控件。 FindControl需要控件具有唯一的ID
- 29. 計算行之和具有相同ID
- 30. MySQL for循環 - 插入具有相同數據,不同索引的多行
我不明白的問題。什麼阻止你僅僅創建另一列,並保持所有10個插入內容的值相同? – sachleen 2013-04-22 02:14:52
你是說你想添加第二列,例如:'secondaryId',並且對於插入的所有記錄來說,這是相同的嗎?或者你想'primaryId'是相同的(這是不可能的)。 – SOfanatic 2013-04-22 02:15:28
如果你不希望它自動增加,你爲什麼要創建auto_increment列? – 2013-04-22 02:17:36