2017-11-21 8 views
-1

SQLSTATE [42000]:構文エラーまたはアクセス違反:1075不適切なテーブル定義。 (50 CREATE TABLE tbl_categorycat_id int型nullでなく、cat_name VARCHAR(50) nullではない、cat_detail VARCHAR(100)nullではない、cat_img varchar型:そこに一つだけのオートcolu MNすることができ、それは、キー(SQLとして定義する必要があります)NOT NULL、menu_id int型nullでないauto_incremen トン、主キー、parent_id INT NOT NULL AUTO_INCREMENT、主キー、cat_updateタイムスタンプnullではない、created_atトン imestampヌル、updated_atタイムスタンプヌル)デフォルトの文字セットのutf8コレートutf8_unicode_ci内)sqlstates42000構文エラーまたはアクセス違反:1075

Schema::create('tbl_category', function (Blueprint $table) { 
      $table->integer('cat_id')->NOTNULL; 
      $table->string('cat_name',50); 
      $table->string('cat_detail', 100); 
      $table->string('cat_img', 50); 
      $table->integer('menu_id', 11)->NOTNULL; 
      $table->integer('parent_id', 11)->NOTNULL; 
      $table->timestamp('cat_update')->NOTNULL; 
      $table->timestamps(); 
     }); 

ヘルプme

答えて

1

問題はあなたが自動インクリメント2列(menu_idとPARENT_ID)の主キーのプロパティを持つテーブルを作成しようとしているということです:あなたは1つの列のみを選択する必要があります

menu_id int not null auto_increment primary key, parent_id int not null auto_increment primary key 

、および私は(テーブル名で)推測すると、cat_idでなければなりません。

$table->integer('cat_id')->autoIncrement()... 

または

$table->increments('cat_id')... 
+0

おかげで、私が持っている問題

this docsのとおり、私はあなたにCAT_IDの定義を変更することができますねあなたが歓迎しているlaravel –

+0

@Hondahodaの移行のためにそれを書き込む方法。私はdocsとauto_increment pkを宣言する方法で答えを更新しました。質問が解決したら回答を受け入れることができますか? –

+0

私はそれを得ました。やってみます –

0

私のコード:助けるため

<?php 

use Illuminate\Support\Facades\Schema; 
use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateTblCategoryTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('tbl_category', function (Blueprint $table) { 
      $table->integer('cat_id')->PRIMARYKEY->NOTNULL; 
      $table->string('cat_name',50); 
      $table->string('cat_detail', 100); 
      $table->string('cat_img', 50); 
      $table->integer('menu_id', 11)->NOTNULL; 
      $table->integer('parent_id', 11)->NOTNULL; 
      $table->timestamp('cat_update')->NOTNULL; 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::dropIfExists('tbl_category'); 
    } 
} 
関連する問題