簡單就像它自己。我想要一個自動增量字段,但有時我必須在一些必須手動設置的字段中重複使用id。我可以在AUTOINCREMENT字段中插入數據嗎?
是否有任何問題,這樣做與自動增量字段在MySQL中使用PHP? (一致性,...)
簡單就像它自己。我想要一個自動增量字段,但有時我必須在一些必須手動設置的字段中重複使用id。我可以在AUTOINCREMENT字段中插入數據嗎?
是否有任何問題,這樣做與自動增量字段在MySQL中使用PHP? (一致性,...)
自動增量領域是獨一無二的 - >完美謝謝:) – 2012-07-16 11:25:03
我只是想節省時間檢查插入之前的那場最大的ID,但我想我會必須做吧 – 2012-07-16 11:27:50
你可以使用PHP的uniqid生成的ID [HTTP:/ /php.net/manual/de/function.uniqid.php]這將節省你一個選擇,如果沒有關係,是否ID是連續的... – Horen 2012-07-16 11:31:18
考慮使用複合主鍵(2列或多列創建主鍵)。一列可以是自動增量,另一列可以是「重複的ID」。無論哪種方式,這確保每一行都有一個唯一的密鑰。
這不是主鍵,但謝謝:D – 2012-07-16 11:27:17
根據你的php結構,你可以更換:
INSERT INTO table_name (name, incr)
VALUES ('hello', {$incr}) # using retrieved data
與
INSERT INTO table_name (name, incr)
SELECT 'hello', incr
FROM ( SELECT (incr + 1) AS incr
FROM table_name
ORDER BY incr DESC
UNION
SELECT 1) AS h
LIMIT 1
Basicly它只是檢查最高incr
值在你的表,或給它1開始。這隻需要一個MySQL調用,並且會加快速度。
這氣味不好的數據庫設計 – 2012-07-16 11:22:42
這不是該表的主鍵。 – 2012-07-16 11:24:33
你不能在mysql中有一個(自動)自動增量字段,它不是主鍵 – AD7six 2012-07-16 11:33:32