В поле «Автоматическое приращение» введите 1000 в миграции laravel 5.1

Мне нужно запустить свои идентификаторы от 1000 в таблице пользователей, как я могу создать миграцию для этого.

Моя текущая миграция:

public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); // how can I start this from 1000 $table->integer('qualification_id')->nullable(); $table->integer('experience_id')->nullable(); }); } 

Related of "В поле «Автоматическое приращение» введите 1000 в миграции laravel 5.1"

Это должно быть так (не проверено).

 use Illuminate\Database\Migrations\Migration; use Illuminate\Support\Facades\DB; class MyTableMigration extends Migration { /** * Run the migrations. * * @return void */ public function up() { $statement = "ALTER TABLE MY_TABLE AUTO_INCREMENT = 111111;"; DB::unprepared($statement); } /** * Reverse the migrations. * * @return void */ public function down() { } } 

Обновить

 //Your migrations here: Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id')->unsigned(); $table->integer('qualification_id')->nullable(); $table->integer('experience_id')->nullable(); }); //then set autoincrement to 1000 DB::update("ALTER TABLE users AUTO_INCREMENT = 1000;"); 

Большинство таблиц работают с приращением, увеличивающимся от следующего большого целого числа.

Всегда можно вставить целое число, которое больше текущего индекса автоинкремента. Тогда индекс автоматического инкрементного перехода автоматически изменится с нового значения +1 вверх.

Итак, если у вас есть свежеиспеченная таблица, ваш текущий индекс равен 0, следующая клавиша будет 0 + 1 = 1.

Нам нужен первичный ключ, начинающийся с 1000, поэтому мы делаем вставку записи с значением id 999, поэтому следующая вставка станет 1000.

В коде:

  $startId = 1000; DB::table('users')->insert(['id'=> $startId - 1]); DB::table('users')->where('id',$startId - 1)->delete(); 

и теперь у вас есть пустая таблица, где следующий идентификатор вставки должен быть 1000.

Обратите внимание, что если у вас есть значения для семени в таблицу с значениями id < startId вам нужно сделать это, прежде чем выполнять эти инструкции. В противном случае база данных выдает ошибку нарушения ограничения.

Это должно работать агностик базы данных, но если есть база данных, которая не соответствует этому правилу автоинкремента, я бы хотел услышать об этом.

Метод Прашанта работает без проблем. Но, как сказано ранее, не use DB; в верхней части файла.

введите описание изображения здесь

И вот результаты после php artisan migrate

И вот результаты