首頁 > 資料庫 > mysql教程 > PostgreSQL中如何正確實作自增主鍵?

PostgreSQL中如何正確實作自增主鍵?

Susan Sarandon
發布: 2025-01-22 11:41:10
原創
637 人瀏覽過

How Do I Properly Implement Auto-Incrementing Primary Keys in PostgreSQL?

PostgreSQL 自動遞增列疑難排解

嘗試使用 AUTO_INCREMENT 自動為 PostgreSQL 中的主鍵編號時,可能會遇到錯誤。讓我們深入探討可能的原因及其解決方案:

PostgreSQL 10 及更高版本

在 PostgreSQL 10 及更高版本中,建議使用標準 SQL 的 IDENTITY 欄位來取代 AUTO_INCREMENT。

建立帶有 IDENTITY 欄位的表格

<code class="language-sql">CREATE TABLE staff (  
 staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY  
, staff text NOT NULL  
);</code>
登入後複製

新增 IDENTITY 欄位

<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY;</code>
登入後複製

將其也設為主鍵:

<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY;</code>
登入後複製

PostgreSQL 9.6 或更低版本

對於 9.6 或更低版本,請使用 serial 偽資料類型:

<code class="language-sql">CREATE TABLE staff (  
 staff_id serial PRIMARY KEY  
, staff text NOT NULL  
);</code>
登入後複製

附加說明

請確保使用有效的識別碼(小寫,不加引號),以防止潛在問題。

如果要將 serial 列替換為 IDENTITY 列,請參考此文件以取得指導。

可以使用 OVERRIDING {SYSTEM|USER} VALUE 來覆寫 INSERT 指令中的系統值或使用者輸入。

以上是PostgreSQL中如何正確實作自增主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板