Setzen Sie Auto-Inkrement-Feld start von 1000 in der migration laravel 5.1
Brauche ich meine ids von 1000 in der Tabelle user, wie könnte ich erstellen, die migration für diese.
Meine aktuellen migration:
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();
});
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte es so sein(nicht getestet).
Update
The use statement with non-compound name 'DB' has no effect
DB::update("UPDATE SQLITE_SEQUENCE SET seq = $num WHERE name = '$table'")
wo $num es ist Ihre neue, Letzte Inkrement Anzahl und $der Tisch ist Tisch. sqlite.org/autoinc.htmlMeisten Tabellen arbeiten mit Schritten Inkrementieren aus die nächste größere ganze Zahl.
Können Sie immer fügen Sie eine ganze Zahl, die höher ist als die aktuelle autoincrementing index. Die autoincrementing index wird dann automatisch daraus Folgen, dass der neue Wert von +1 bis.
Also, wenn Sie einen frisch gebackenen Tabelle Ihre aktuelle index ist 0, der nächste Schlüssel 0 + 1 = 1.
Was wir wollen, ist ein Primärschlüssel, der beginnt bei 1000, also was wir tun ist, legen Sie einen Datensatz mit der id den Wert 999, also das nächste einfügen werden 1000.
Code:
und jetzt haben Sie eine leere Tabelle, wo die nächste insert id sollte sein 1000.
Bitte beachten Sie, dass, wenn Sie Werte haben, um Saatgut in die Tabelle mit den id-Werten <
startId
Sie tun müssen, dass vor Sie diese Anweisungen auszuführen. Ansonsten wird die Datenbank werfen eine constraint-Verletzung Fehler.Sollte diese Arbeit Datenbank-agnostisch, aber wenn es eine Datenbank, die nicht das autoincrement-Regel würde ich gerne davon zu hören.
Migration zu erstellen, die Tabelle, und legen Sie die auto-Inkrement-Wert von Laravel 5.5
DB::statement()
können verwendet werden, um jedes beliebige einzelne SQL-Anweisung, die Sie benötigen.Prashant ' s Methode funktioniert ohne Probleme.
Aber wie es schon sagte, nicht
use DB;
in den Anfang der Datei.Und hier sind die Ergebnisse nach
php artisan migrate