我的表「sales_order_details」具有id
字段具有缺省值0
整數「INT(10)」。我需要將其更改爲遷移中的主要自動增量密鑰。Laravel遷移 - 如何改變`id`字段是伯和自動遞增後
我試圖以下列方式:
public function up()
{
Schema::table('sales_order_details', function (Blueprint $table){
$table->integer('id')->default(NULL)->change();
$table->increments('id')->change();
});
}
public function down()
{
Schema::table('sales_order_details', function (Blueprint $table){
$table->dropPrimary('id')->change();
});
}
我收到以下錯誤:
[照亮\數據庫\ QueryException] SQLSTATE [42000]:語法錯誤或訪問衝突:1075不正確的表def inition;只能有一個自動柱,它必須被定義爲一個鍵 (SQL:ALTER TABLE sales_order_details改變ID的ID INT UNSIGNED AUTO_INCREM ENT NOT NULL)
[學說\ DBAL \驅動\ PDOException] SQLSTATE [42000 ]:語法錯誤或訪問衝突:1075錯誤的表def inition;只能有一個自動列,並且必須將其定義爲鍵
[PDOException] SQLSTATE [42000]:語法錯誤或訪問衝突:1075錯誤的表def inition;只能有一個自動列,並且必須將其定義爲密鑰
如何正確進行遷移?我使用的5.4版本
爲什麼你都寫這些行$ table-> integer('id') - > default(NULL) - > change(); $表 - >增量( '身份證') - >更改(); 只有第二個增量需要。 –
如果一起使用,「默認」和「增量」是否會產生問題? –