Laravel générateur de schéma de type INT(11), integer() et INT(10) sur unsignedInteger()
Pourquoi ne Laravel créer la colonne de type integer en tant que INT(11) unsigned integer colonne de type INT(10)?
$table->integer('integer'); // INT(11)
$table->unsignedInteger('unsignedInteger'); // INT(10) unsigned
$table->integer('integer_then_unsigned')->unsigned(); // INT(10) unsigned
Depuis les entiers non signés valeur maximale peut être presque deux fois plus important, ne devrait-elle pas plutôt l'inverse?
OriginalL'auteur Artur Käpp | 2014-08-27
Vous devez vous connecter pour publier un commentaire.
Parce que du signe moins lorsque le nombre entier peut être signé.
Des entiers non signés seront a 10 chiffres, et sa longueur est donc de 10.
Entiers signés, un espace pour le signe moins, si elle est négative. Par conséquent, sur le dessus de 10 chiffres, vous avez besoin d'un autre pour la signe.
OriginalL'auteur N.B.
C'est parce que le signe moins dans le cas où votre colonne est signé, ce qui permet le terrain pour avoir des entiers négatifs. Vous pouvez avoir jusqu'à 10 chiffres lors de votre domaine n'est pas signé.
OriginalL'auteur spetsnaz
J'ai le même problème et j'ai essayé d'ajouter unsigned id il n'a pas aidé, il était encore int(10) c'est la structure que de la migration des larves de création:
si vous essayez d'ajouter étrangères empêche celui-ci retourne l'erreur:
eneral erreur: 1215 Ne peut pas ajouter de contrainte de clé étrangère
Ma solution de contournement consiste à déposer des unsigned de product_id, user_id
OriginalL'auteur Zoran