Définir le champ d'incrémentation automatique du formulaire de démarrage 1000 dans la migration laravel 5.1
J'ai besoin de commencer mon id à partir de 1000 dans la table user, comment pourrais-je créer migration pour cette.
Ma migration actuelle est:
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();
});
}
source d'informationauteur Anshul Mishra
Vous devez vous connecter pour publier un commentaire.
Il devrait ressembler à ceci(pas testé).
Mise à jour
La plupart des tables de travail avec des augmentations de l'incrémentation de la prochaine plus grand entier.
On peut toujours insérer un entier, qui est plus élevé que le courant autoincrementing index. Le autoincrementing indice sera alors automatiquement à partir de cette nouvelle valeur +1.
Donc, si vous avez un fraîchement frappées table de votre actuelle de l'indice est de 0, la clé suivante sera de 0 + 1 = 1.
Ce que nous voulons, c'est une clé primaire qui démarre à 1000, de sorte que ce que nous faisons est l'insertion d'un enregistrement avec l'id de la valeur de 999, de sorte que la prochaine insérer deviendra 1000.
Dans le code:
et maintenant vous avez une table vide où la prochaine insert id doit être de 1000.
Veuillez noter que si vous avez les valeurs de la semence dans le tableau avec les valeurs d'id <
startId
vous avez besoin de le faire avant vous exécuter ces instructions. Sinon, la base de données lèvera une erreur de violation de contrainte.Cela devrait fonctionner de la base de données agnostiques, mais si il y a une base de données qui ne suivent pas cette auto-incrémentation de la règle, j'aimerais en entendre parler.
Migration pour créer une table et définir sa valeur d'incrémentation automatique de Laravel 5.5
DB::statement()
peut être utilisé pour exécuter une seule instruction SQL que vous avez besoin.Prashant la méthode fonctionne sans problèmes.
Mais comme il est dit plus haut, ne pas mettre
use DB;
en haut de votre fichier.Et voici le résultat après
php artisan migrate