我有以下表格my_table主鍵id設置爲AUTO_INCREMENT。如何添加一組「行」並在MySQL中增加他們的「組ID」?
id group_id data_column
1 1 'data_1a'
2 2 'data_2a'
3 2 'data_2b'
我被困試圖建立一個查詢,將採取一組數據,說[ 'data_3a', 'data_3b'],並適當增加了GROUP_ID產生:
id group_id data_column
1 1 'data_1a'
2 2 'data_2a'
3 2 'data_2b'
4 3 'data_3a'
5 3 'data_3b'
我認爲使用WITH子句很容易,但這在MySQL中不受支持。我對SQL很陌生,所以也許我正在組織我的數據錯誤的方式? (一組應該表示一組通過表單上傳的文件,每行是一個文件,數據列存儲它的路徑)。
的「SQL的僞」的代碼,我腦子裏想的是:
INSERT INTO my_table (group_id, data_column)
VALUES ($NEXT_GROUP_ID, 'data_3a'), ($NEXT_GROUP_ID, 'data_3b')
LETTING $NEXT_GROUP_ID = (SELECT MAX(group_id) + 1 FROM my_table)
,其中由「讓」條款只會在查詢開始評估一次。
在我看來,如果您能夠從其他字段的值構造「data_column」的值,「data_column」在功能上將依賴於其他字段,因此是多餘的。如果它是真實的數據,則有人必須輸入它。 – wildplasser 2012-04-15 11:51:46