Générateur de schéma de la longueur d'un entier
J'ai été la recherche autour de la question a été posée à quelques reprises, mais personne ne semble être en mesure de donner une réponse définitive. Comment faites-vous préciser le nombre entier de la longueur de la colonne de la table à l'aide de Schéma?
J'ai vu quelqu'un suggère:
$table->integer('post')->length(11);
Mais qui ne fonctionne pas - au moins avec Laravel 4.2 - il produit toujours de la colonne comme int(10)
.
Est-il construit dans la méthode pour spécifier la longueur entier?
Est-ce, par hasard, liées à la création de clés étrangères entre les tables?
OriginalL'auteur Spencer Mark | 2014-09-10
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez MySQL, vous ne pouvez pas spécifier la longueur d'une colonne de type integer. Vous ne pouvez choisir entre l'un des types d'entiers, décrit à http://dev.mysql.com/doc/refman/5.1/en/integer-types.html.
Par conséquent, vous ne pouvez pas définir le nombre entier de longueur dans Laravel. Vous ne pouvez choisir l'un des types décrits à http://laravel.com/docs/schema#adding-columns.
Il va jusqu'à 11 pour les entiers signés. Pour les entiers non signés (et je veux dire la
INT
type), il va jusqu'à 10.- Merci, même si c'est une honte que vous ne pouvez pas spécifier la longueur - il pourrait être utile dans certains scénarios.
En fait, vous spécifier la longueur d'une colonne de type integer dans MySQL. Voir le Type Numérique Attributs de la même docs.Le longueur dans ce cas n'est pas la taille des données, mais la largeur de l'affichage de la sortie. Généralement, boolean colonnes seront stockées sous forme de
TINYINT(1)
même si leTINYINT
peut avoir une largeur d'affichage de jusqu'à 4.OriginalL'auteur lowerends
Je devine que vous souhaitez spécifier une longueur de 10 à correspondre à une augmentation de l'id (lors de la déclaration de clés étrangères). Si oui, alors vous devez utiliser:
OriginalL'auteur omarjebari
J'ai pensé créer un outil facile à copier-coller pour des situations générales de la table.
Signé si vous ne nécessitent des valeurs négatives et non signé si vous ne pas.
Pour les grands types d'Entiers, voir: https://dev.mysql.com/doc/refman/5.5/en/integer-types.html
OriginalL'auteur Grant
Maintenant, dans Laravel 5:
OriginalL'auteur LowLevel
https://laravel.com/docs/5.7/migrations
OriginalL'auteur Berthold Feujo