簡體   English   中英

如何添加UNIQUE AUTO_INCREMENT FIRST ID列

[英]How to add UNIQUE AUTO_INCREMENT FIRST id column

我想要一個基本上是以下SQL的數據庫遷移:

ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;

是否有一個Sequel遷移可以做到這一點? 我已經很接近以下內容,但這似乎並不是我想要的:

Sequel.migration do
  change do
    alter_table :my_table do
      add_column :id, Bignum, null: false, unique: true
    end
  end
end

具體來說,它似乎缺少自動遞增功能,因此不會成為第一列。

這應該工作:

DB.add_column :myTable, :id, Bignum, null: false, unique: true, :auto_increment=>true 

請注意,這並沒有給您FIRST 如果需要FIRST ,則必須使用原始SQL:

DB.run "ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST"

另一個區別是您的SQL未指定NOT NULL ,但您的Sequel代碼卻指定了。

暫無
暫無

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

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