Me doy cuenta de que tinyint
es un número entero de un byte (por cierto, ¿está firmado o no?). ¿Qué significa el argumento (3)
? He buscado y no he podido encontrar la respuesta.¿Qué significa tinyint (3) en SQL (SQLite)?
Respuesta
Consulte this blog page sobre las definiciones del tipo de columna MySQL.
Para los tipos numéricos, el modificador de longitud es en realidad el ancho de visualización, que no tiene nada que ver con lo que se puede almacenar en el campo. Sí, eso es todo, tanto TINYINT (1) como TININT (4) pueden almacenar valores en el rango -128..127 (o para valores sin signo 0..255), y son tipos de datos absolutamente idénticos, con un pequeño giro (que se refiere a la fecha) recuperación - ver abajo). Aquí es explicación de lo que se entiende por ancho de la pantalla, tomada directamente de la fuente:
El ancho de la pantalla no limita la gama de valores que se pueden almacenar en la columna, ni el número de dígitos que se muestran para valores que tienen un ancho que excede el especificado para la columna. Por ejemplo, una columna especificada como SMALLINT (3) tiene el rango SMALLINT habitual de -32768 a 32767, y los valores fuera del rango permitido por tres caracteres se muestran con más de tres caracteres.
La pregunta era sobre SQLite, pero me doy cuenta de que el OP agregó esta precisión después de que usted respondió. La otra respuesta es más relevante ahora, no estoy seguro de por qué esta es aceptada. – Benjamin
SQLite "implementos" mock-tipos de datos en columnas . Básicamente, acepta la sintaxis SQL estándar, pero de lo contrario lo ignora. (Pero consulte afinidad de tipos y coacciones.)
Consulte Manifest Typing en la documentación de "diferencias".
La mayoría de los motores de bases de datos SQL utilizan tipado estático. Un tipo de datos está asociado a cada columna en una tabla y solo se permiten almacenar valores de ese tipo de datos en particular en esa columna. SQLite relaja esta restricción mediante el uso de tipado manifiesto. En tipado manifiesto, el tipo de datos es una propiedad del valor en sí, no de la columna en la que se almacena el valor. SQLite le permite al usuario almacenar cualquier valor de cualquier tipo de datos en cualquier columna, independientemente del tipo declarado de esa columna. (Hay algunas excepciones a esta regla: Una columna INTEGER PRIMARY KEY puede sólo enteros almacenar y intentos de SQLite a coaccionar valores en el tipo de datos declarado de la columna cuando puede..)
también ver Datatypes in SQLite Version 3 y tipo afinidad:
la afinidad de una columna está determinada por el tipo declarado de la columna, de acuerdo con las siguientes reglas en el orden mostrado:
Si el tipo declarado contiene la cadena "INT" entonces se le asigna una afinidad INTEGER.
[otras reglas omitidas por brevedad]
Para otras bases de datos, consulte la documentación de base de datos específica adecuada :-)
- 1. ¿Cómo importo archivos .sql en SQLite 3?
- 2. ¿Qué significa/* en sql?
- 3. ¿Qué significa (+) en SQL?
- 4. ¿Qué significa # en sql?
- 5. ¿Qué significa "+ =" en T-SQL
- 6. ¿Qué significa "2" en SQL * Plus?
- 7. ¿Qué significa "WHERE 1" en SQL?
- 8. SQLite 3 C API Transactions
- 9. unsigned tinyint en php?
- 10. ¿Qué significa el RTM en MVC 3 RTM standfor
- 11. ¿Qué significa @! significa en un De declaración
- 12. ¿Qué significa # en Mathematica?
- 13. ¿Qué significa "?" significa en Java?
- 14. ¿Qué significa '??' significa en C#?
- 15. ¿qué significa "$ &" significa en Ruby
- 16. ¿Qué significa = *?
- 17. SQLite vs SQL Server
- 18. Confusión BOOLEAN o TINYINT
- 19. ¿Qué significa "Origen de datos no puede estar vacío. Uso: memoria: para abrir una base de datos en memoria" significa?
- 20. ¿Qué significa _ :: en Scala?
- 21. servidor tinyint marco de asignación de entidades SQL para Int16
- 22. Soporte de clave externa en sqlite 3
- 23. Qué significa * en XAML
- 24. ¿Qué significa el estado de salida de proceso 3?
- 25. Rails 3 - Canalización de activos: ¿qué significa para mí?
- 26. ¿Qué significa "babosa" significa
- 27. ¿Qué significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 28. ¿Qué significa ('../') significa?
- 29. conversión de Dapper TinyInt
- 30. Use TinyInt para ocultar/mostrar los controles?
estoy usando SQLite y Don No veo ninguna diferencia entre 'tinyint' y' tinyint (3) '. – mk12
@ Mk12 Se debe a que SQLite "implementa de manera simulada" tipos de datos (básicamente, acepta la sintaxis pero, de lo contrario, la ignora). Lee el buen manual. –