Supongo que INT (1) es exactamente lo mismo que TINYINT (1), pero realmente no tengo ni idea. Cada vez que tengo valores que solo pueden ser un entero (por ejemplo, un valor de 0-9), siempre he usado INT (1) para decir que es un número entero y que solo tendrá un carácter, lo que supongo que significa que solo podría ser un valor de 0 a 9 (por favor explícame esto si estoy equivocado). Siempre he ignorado los otros tipos de INT con los que puedes convertir el número. No soy conocedor de MySQL y tiendo a evitar las cosas más complicadas que puedes hacer con él.¿Existe alguna diferencia en el uso de INT (1) frente a TININT (1) en MySQL?
Así que mi pregunta, ¿hay alguna diferencia entre los distintos tipos de enteros INT, TINYINT, SMALLINT, MEDIUMINT y BIGINT si define una longitud de 1 para cada tipo? En caso negativo, ¿debería utilizarlos de todos modos (puedo ver que los usa para obtener un significado más semántico, TINYINT es más específico que solo INT)? De ser así, ¿podría fácilmente (y/o debería) acceder a mi base de datos y cambiar todos mis campos INT (1) a campos TINYINT (1)?
Creo que 'TINYINT (1)' es un entero de 1 bit, no de 1 dígito. No sé sobre 'INT (1)' pero si está almacenando correctamente para los números del 0 al 9, sigue usándolo :) Pero siempre pensé que era 1 bit también. – Ryan
@minitech 'TINYINT' es 1 byte, no 1 bit – Phil
@Phil: Oops: P Así que cambio mi comentario a:" Ambos son de 1 byte ". – Ryan