2014-10-07 158 views
2

我有一個要求,我的mysql表的主鍵以'0'開頭。我應該如何在liquibase xml中指定它?如何在liquibase中設置自動增量主鍵字段的起始值

我在創建表時嘗試了startWith參數,但它無法工作。

<column autoIncrement="true" name="id" type="BIGINT(20) UNSIGNED" startWith="0"> 
      <constraints primaryKey="true"/> 
     </column> 

任何幫助表示讚賞。

回答

0

由liquibase生成的SQL似乎是正確的,包括基於startWith的AUTO_INCREMENT = 0表選項。如果運行liquibase updateSql

直接運行SQL,MySQL本身似乎不接受默認值爲零。如果我使用相同的createTable,但使用不同的startWith(如100),它可以正常工作,但將其設置爲零使其實際上從一開始。

也許設置SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";標誌會使其正常工作,但由於mysql使用零作爲「使用下一個自動遞增字段」的值,如果可以避免混淆,最好從1開始。

相關問題