我有這樣的SQL查詢:MySQL的:將數據帶單查詢,但自動增量號在非自動遞增列
INSERT INTO db1.outbox (DestinationNumber, TextDecoded)
SELECT User.CellPhone, '$SMSMessage' as TextDecoded
FROM db2.User
WHERE User.PurchaseDate BETWEEN 2012-01-01 AND 2012-01-31
它多行插入到「發件箱」表。我可以很容易地通過使用此查詢得到第一排的ID號:
SELECT LAST_INSERT_ID()
,讓我們說我有532從SELECT LAST_INSERT_ID()
結果,我必須插入34行。
如何使用這532名爲「outbox_multipart」插入其他表初始數量,並讓它自動遞增這樣的結果會是這樣:
+------+----------------+----------+----------------------------------+
| ID | phonenumber | outboxID | message |
+------+----------------+---------------------------------------------+
| ...... |
| 1025 | 555-123456 | 532 | part 2 : hello there! |
| 1026 | 555-999999 | 533 | part 2 : hello there! |
| 1027 | 555-888888 | 534 | part 2 : hello there! |
| |
| ...... 34 rows inserted here ....... |
| |
+------+----------------+---------------------------------------------+
請注意outboxID列不自動增量柱。但是它必須有自動遞增數量從532個+ 34個=行566
如何阻止它直到34行?或者當沒有插入其他行時它會自動停止,這樣當我有另一個插入過程時,比方說,從821開始......我必須再次使用ALTER TABLE,但是這次以821開始。那是什麼意思?對我來說是有意義的...... –
一旦你執行了這個查詢,那麼它不是那樣的,那麼它最初從532開始,如果你的插入從821開始,那麼它會自動遞增821的「outboxID」,否則它會開始從532 + 34 =「566」 – Gautam3164
好的,明白了......爲你+1並接受爲答案,謝謝。 –