2012-07-30 52 views
0

我爲我的數據庫使用MySql。我已經找到了如何在創建表格時設置列的開始自動增量值,但我需要知道如何爲現有列設置新的起始值。 liquibase腳本是怎麼做的?如何通過liquibase更改自動增量列的起始值?

+1

您可能必須爲此使用[自定義SQL](http://www.liquibase.org/manual/custom_sql)。 'ALTER TABLE table_name AUTO_INCREMENT = XXX;' – 2012-07-30 21:12:15

+0

是的,這就是它的樣子。感謝您的迴應。 – EJay 2012-07-30 22:31:59

+0

不幸的是,它是數據庫管理系統的具體情況,也是一件非常難得的事情,所以我可以明白爲什麼Liquibase不會真的支持它。 – 2012-07-30 22:38:05

回答

0

MySQL的語法很簡單:(注意,這是一個真正的表屬性,而不是列屬性只能有一個被聲明爲AUTO_INCREMENT表列。)

ALTER TABLE mytable AUTO_INCREMENT = val ; 

SQL Server或Oracle不支持此語法;除了SEQUENCE對象和TRIGGER之外,Oracle甚至沒有「auto_increment」列的概念。 SQL Server將其稱爲IDENTITY屬性。所以我不知道這個語句如何在「liquibase」語法中表示,除了指定這個語句是本地MySQL語法。

+0

那麼只需在我的liquibase變更集中將該MySql語句包裝到一個標記中,然後呢? – EJay 2012-07-30 21:59:16

+0

我最終會這樣做。乾杯 – EJay 2012-07-30 22:50:21