Access 數據庫本質上是無序集合,不存在物理「行號」概念。所謂「在第 5、6 行之間插入」,實際上需通過主鍵排序或自增 ID確定邏輯位置,再配合應用層邏輯實現。
SELECT * FROM table 返回順序不保證。ORDER BY ID)下有意義。SortOrder(排序號)或 ParentID(樹結構)字段。SortOrder 為目標位置值。ORDER BY SortOrder 即可呈現期望順序。若業務強制要求物理順序(極少見),可按原回答手動實現:
// 假設按 ID 排序,要在 ID=3 後插入
// 1. 將 ID>=4 的記錄 ID 遞增(或複製到臨時表)
// 2. 插入新記錄 ID=4
// 3. 恢復其餘記錄
缺點:主鍵修改觸發級聯更新、併發鎖定風險大、性能差,生產環境強烈不推薦。
ADO 或 DAO 操作 Access。INSERT INTO table (SortOrder, Col1, Col2) VALUES (?, ?, ?)。總結:拋棄「物理行號」思維,改用排序字段控制邏輯順序,才是關係型數據庫的正確用法。