Si vous configurez une table de base de données SQL avec des champs répertoriés comme BIGINT plutôt que INT, cette consomme plus d'espace mais vous offre une bien plus vaste gamme de numéros pouvant être stockées . Toutefois, si vous décidez que vous n'avez plus besoin de cet espace supplémentaire , ou si vous avez besoin de transmettre les données à une application qui ne supporte pas bigints et vous sentir à l'aise en tronquant les valeurs supérieures au maximum pour INT, alors vous voudrez peut-être CAST jusqu'à interceptions . Malheureusement, de nombreuses bases de données MySQL , y compris , ne permettent pas directement coulée entre les différents types d'entiers , mais il ya une solution de contournement en utilisant casting dynamique . Instructions
1
Ouvrez votre client de base de données . Par exemple, pour ouvrir MySQL, tapez la commande suivante dans le terminal :
mysql
2
Tapez la commande suivante pour créer une simple table remplie de valeurs BIGINT :
CREATE TABLE testt ( BIGINT unInt ) ;
INSERT INTO valeurs ( 123432 ) testt ( unInt ) ;
INSERT INTO valeurs testt ( unInt ) ( 432 432 432 ) ;
INSERT INTO valeurs testt ( unInt ) ( 5344432423 );
INSERT INTO valeurs testt ( unInt ) ( 432432432443243243243243232432 ) ;
3
créer la fonction qui va effectuer la conversion : < br >
CREATE FUNCTION BigToInt (n BIGINT ) RETURNS iNTEGER RETOUR n;
comme vous pouvez le voir, la fonction est très court et simple: il faut un BIGINT et retourne immédiatement comme un entier ordinaire. Toutefois, une conséquence de ceci est que certaines des données sera tronquée vers le bas à la plus grande valeur possible pour Int.