2016-03-20 14 views
0

データベースをコンパイルする際にエラーが発生しました。それは私にsqliteの警告を与えていませんでしたが、mysqlを驚かせました。SQLSTATE [42000]:mysqlの構文エラーまたはアクセス違反エラー

Schema::create('question', function(Blueprint $table) { 
      $table->increments('id'); 
      $table->timestamps(); 
      $table->softDeletes(); 
      $table->text('title')->index(); 
      $table->string('hint')->nullable(); 
      $table->text('explanation')->nullable(); 
      $table->string('referencematerial')->nullable(); 
      $table->string('imagepath')->nullable(); 
      $table->boolean('published')->default(1); 
     }); 




[Illuminate\Database\QueryException] 
    SQLSTATE[42000]: Syntax error or access violation: 1 
    170 BLOB/TEXT column 'title' used in key specificati 
    on without a key length (SQL: alter table `question` 
    add index `question_title_index`(`title`)) 



    [PDOException] 
    SQLSTATE[42000]: Syntax error or access violation: 1 
    170 BLOB/TEXT column 'title' used in key specificati 
    on without a key length 

答えて

0

あなたは、MySQLにおけるインデックスとしてインデックスTEXTフィールドではありませんが、参照関連question

一つの解決策は、あなたが、私はいくつかの研究を行った後ことを実現VARCHAR(200)

+0

などのvarchar型としてタイトルを作成することです。ありがとうございました。 – manshu

関連する問題