[SQL] Aumentar el límite de una línea
Resuelto
F2000
Mensajes publicados
37
Estado
Miembro
-
F2000 Mensajes publicados 37 Estado Miembro -
F2000 Mensajes publicados 37 Estado Miembro -
Hola,
Mi sitio web (en OVH) tiene una base de datos.
Para una de mis tablas tengo un campo de tipo TEXT que contiene el texto de mis páginas.
Estoy escribiendo un artículo considerable (40,000 caracteres por ahora) y me di cuenta de que al guardar mi artículo, lo corta hacia el final.
Tras investigar, leí que existe un límite de 8060 bytes por fila de tabla, pero que el campo TEXT permite hasta 2 Go de datos (es decir, 1 mil millones de caracteres según el mencionado sitio). El sitio también hablaba de una opción ROW OVERFLOW que permite superar este límite.
Mi pregunta es sencilla: ¿hay alguna manera de aumentar la capacidad admitida por mi base de datos para una fila de tabla?
Atentamente,
Mi sitio web (en OVH) tiene una base de datos.
Para una de mis tablas tengo un campo de tipo TEXT que contiene el texto de mis páginas.
Estoy escribiendo un artículo considerable (40,000 caracteres por ahora) y me di cuenta de que al guardar mi artículo, lo corta hacia el final.
Tras investigar, leí que existe un límite de 8060 bytes por fila de tabla, pero que el campo TEXT permite hasta 2 Go de datos (es decir, 1 mil millones de caracteres según el mencionado sitio). El sitio también hablaba de una opción ROW OVERFLOW que permite superar este límite.
Mi pregunta es sencilla: ¿hay alguna manera de aumentar la capacidad admitida por mi base de datos para una fila de tabla?
Atentamente,
Configuración: Windows Vista Firefox 3.0.5
2 respuestas
8060 bytes por registro, eso se refiere a SQL Server... no necesariamente a otros SGBD, MySQL en tu caso pienso. Además, no afecta a los campos de tipo TEXT (entre otros).
En tu caso, debes cambiar el tamaño de tu campo en las propiedades de tu tabla en PHPMyAdmin.
--
Configuración: Linux Debian Lenny / Núcleo 2.6.26 / Gnome / Iceweasel 3
Conexión a Internet: ADSL Orange 8M (Livebox)
En tu caso, debes cambiar el tamaño de tu campo en las propiedades de tu tabla en PHPMyAdmin.
--
Configuración: Linux Debian Lenny / Núcleo 2.6.26 / Gnome / Iceweasel 3
Conexión a Internet: ADSL Orange 8M (Livebox)
OK.
Pero, ¿cómo hago para cambiar el tamaño? Un campo TEXT no es por defecto de un tamaño adaptable, ¿verdad?
¿Debo especificar un valor específico? Porque actualmente me rechaza un valor para el campo TEXT (o al menos no lo toma en cuenta).
Ps: Y efectivamente, utilizo MySQL y PhpMyAdmin
Editar: Tras nuevas investigaciones, MySQL bloquea mi consulta a 65535 caracteres, que corresponde al tamaño límite para el campo TEXT.
Ahora leo en la documentación de MySQL (http://dev.mysql.com/doc/refman/5.0/fr/blob.html):
"El tamaño máximo de un objeto BLOB o TEXT está determinado por su tipo, pero el valor más grande que puedes transmitir al programa cliente está determinado por la cantidad de memoria disponible en el servidor y por los tamaños de los buffers de comunicación. Puedes cambiar el tamaño de los buffers de comunicación, pero debes hacerlo en el servidor y en el cliente al mismo tiempo. Ver Sección 7.5.2, «Ajuste de los parámetros del servidor».
Por ejemplo, mysql y mysqldump te permiten a ambos modificar el valor del cliente de max_allowed_packet."
Pero aun así, me sorprende que sea un problema de buffers...
¿Cuál es su opinión?
Editar2: Bueno, al final cambié mi tipo TEXT a LONGTEXT y funciona. El programa de optimización me aconseja incluso poner MEDIUMTEXT :p
En fin, al menos aprendí que el tipo "TEXT" no es infinito y que hay algo más grande.
¡Gracias! ;)
Pero, ¿cómo hago para cambiar el tamaño? Un campo TEXT no es por defecto de un tamaño adaptable, ¿verdad?
¿Debo especificar un valor específico? Porque actualmente me rechaza un valor para el campo TEXT (o al menos no lo toma en cuenta).
Ps: Y efectivamente, utilizo MySQL y PhpMyAdmin
Editar: Tras nuevas investigaciones, MySQL bloquea mi consulta a 65535 caracteres, que corresponde al tamaño límite para el campo TEXT.
Ahora leo en la documentación de MySQL (http://dev.mysql.com/doc/refman/5.0/fr/blob.html):
"El tamaño máximo de un objeto BLOB o TEXT está determinado por su tipo, pero el valor más grande que puedes transmitir al programa cliente está determinado por la cantidad de memoria disponible en el servidor y por los tamaños de los buffers de comunicación. Puedes cambiar el tamaño de los buffers de comunicación, pero debes hacerlo en el servidor y en el cliente al mismo tiempo. Ver Sección 7.5.2, «Ajuste de los parámetros del servidor».
Por ejemplo, mysql y mysqldump te permiten a ambos modificar el valor del cliente de max_allowed_packet."
Pero aun así, me sorprende que sea un problema de buffers...
¿Cuál es su opinión?
Editar2: Bueno, al final cambié mi tipo TEXT a LONGTEXT y funciona. El programa de optimización me aconseja incluso poner MEDIUMTEXT :p
En fin, al menos aprendí que el tipo "TEXT" no es infinito y que hay algo más grande.
¡Gracias! ;)