簡體   English   中英

尋找用於時間信息表的MySQL備用主鍵“自動遞增”以進行插入查詢

[英]Looking for MySQL alternative primary key “auto increment” for temporal information table for insert query

我有一張桌子,每天都在其中輸入許多臨時項目。

有時可能會令人討厭,並且主鍵最多可以增加10k。

由於大多數時候會刪除臨時項,因此我看不出將主鍵保持如此高的數目的理由。

我正在尋找一種創建查詢的方法,其中下一個插入的行鍵號將是下一個可用的最小ID。

我知道如何使用服務器端代碼。

1)可以找到最小的未使用的id,但是我不確定它的速度是否如此快,例如,(另一種選擇是與現有表聯接)

set @rowid = 0;
SELECT rowid FROM
(select @rowid := @rowid + 1 as rowid 
from TABLE) rowids
left join TABLE ON (rowid = ID)
WHERE ID is null
ORDER BY rowid limit 1;

2)您還可以維護一個免費的可用ID表。

3)此外,您可以將它們標記為“已刪除”,而不是刪除記錄,然后重新使用記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM