How do you use a BIGINT as an Auto-Incrementing Primary Key in Laravel 4

You most likely forgot to also set the type of your role_id foreign key as BIGINT(20) as well. This isn't really a Laravel issue, but rather MySQL's.


By the way, Laravel does have a native function to do this:

$this->bigIncrements('id');

This takes care of making it unsigned, auto increment and primary key.


When using bigInteger() also applying it to foreign key in some table, make sure you connect it properly with unsignedBigInteger(),

public function up()
{
        Schema::create('create_this_table_after_users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('user_id');
           // Other Columns
        });
        Schema::table('create_this_table_after_users', function($table) {
            $table->foreign('user_id')->references('id')->on('users');
            // Other Constraints 
        });
}

Reference Link of the Laravel 4.2 Doc