Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Error al crear dato

Estas en el tema de Error al crear dato en el foro de Mysql en Foros del Web. Hola, muy buenas. Tengo un problema, que nunca me ha pasado y es al crear una tabla en una columna: Imgane hd: http://i.imgur.com/t7YKhfL.png ¿Por qué ...
  #1 (permalink)  
Antiguo 13/12/2013, 14:44
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Error al crear dato

Hola, muy buenas.

Tengo un problema, que nunca me ha pasado y es al crear una tabla en una columna:



Imgane hd: http://i.imgur.com/t7YKhfL.png

¿Por qué me da este error y no me deja crear?.
Saludos.
  #2 (permalink)  
Antiguo 13/12/2013, 14:58
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

Mira esto. Ese error sucede porque excedes el tamaño del VARCHAR. Usa text.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 13/12/2013, 15:01
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Me da el mismo error:



imagen hd: http://i.imgur.com/HaKR3T6.png

¿Por qué? :(

Saludos.
  #4 (permalink)  
Antiguo 13/12/2013, 15:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error al crear dato

No creo que ese sea exactamente el problema.
Yo he creado campos VARCHAR más largos que ese, y además hay que considerar lo que dice el Manual de Referencia:
Cita:
Los valores en columnas VARCHAR son cadenas de caracteres de longitud variable. En MySQL 5.0, la longitud puede especficarse de 0 a 255 antes de MySQL 5.0.3, y de 0 a 65,535 en 5.0.3 y versiones posteriores. (La máxima longitud efectiva de un VARCHAR en MySQL 5.0 se determina por el tamaño de registro máximo y el conjunto de caracteres usados. La longitud máxima total es de 65,532 bytes.)
Lo que si puede suceder es que la suma total de Bytes de un registro exceda la longitud indicada. Pero para saber qué conviene hacer habría que conocer la estructura actual de la tabla.

¿Podrías mostrarnos el resultado de un SHOW CREATE TABLE?
Es probable que esté mal definida en más de una parte.-
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/12/2013, 15:09
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No creo que ese sea exactamente el problema.
Yo he creado campos VARCHAR más largos que ese, y además hay que considerar lo que dice el Manual de Referencia:

Lo que si puede suceder es que la suma total de Bytes de un registro exceda la longitud indicada. Pero para saber qué conviene hacer habría que conocer la estructura actual de la tabla.

¿Podrías mostrarnos el resultado de un SHOW CREATE TABLE?
Es probable que esté mal definida en más de una parte.-
Claro, por ello dejé el link, ya que no supe expresarme bien . Como adicional (ya que considero de que hay que seguir por la linea del maestro @gnzsoloyo de revisar el problema), cuando MySql arroje un error muchas veces es útil saber leer lo que nos dice:

Cita:
BLOB/TEXT column 'used' can't have a default value
Claramente dice que una columna de tipo BLOB/TEXT no puede declararse con un valor por defecto...

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 13/12/2013, 15:11
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No creo que ese sea exactamente el problema.
Yo he creado campos VARCHAR más largos que ese, y además hay que considerar lo que dice el Manual de Referencia:

Lo que si puede suceder es que la suma total de Bytes de un registro exceda la longitud indicada. Pero para saber qué conviene hacer habría que conocer la estructura actual de la tabla.

¿Podrías mostrarnos el resultado de un SHOW CREATE TABLE?
Es probable que esté mal definida en más de una parte.-
No se que es eso y cómo se hacer,

pero te dejo aqui la db por si es esto:



Imagen hd: http://i.imgur.com/t4t6ZFn.png

Saludos :(
  #7 (permalink)  
Antiguo 13/12/2013, 15:14
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Cita:
Iniciado por jonni09lo Ver Mensaje
Claro, por ello dejé el link, ya que no supe expresarme bien . Como adicional (ya que considero de que hay que seguir por la linea del maestro @gnzsoloyo de revisar el problema), cuando MySql arroje un error muchas veces es útil saber leer lo que nos dice:



Claramente dice que una columna de tipo BLOB/TEXT no puede declararse con un valor por defecto...

Saludos
Aunque no lo ponga por texto por defecto me sale este mensaje igualq eu con el vachar:

Código:
#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
  #8 (permalink)  
Antiguo 13/12/2013, 15:18
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

No, eso no nos sirve y al menos que no puedas o quieras mostrarnos la estructura de las tablas difícilmente podemos ayudarte y te toca "parchearla" como te dije usando TEXT sin default value...

SHOW CREATE TABLE

Si ejecuto esto en PhpMyAdmin

Código SQL:
Ver original
  1. SHOW CREATE TABLE pruebas

Siendo pruebas la tabla que quiero ver la estructura. Me retornará algo como:

Código SQL:
Ver original
  1. CREATE TABLE `pruebas` (
  2.  `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.  `Prueba` VARCHAR(250) NOT NULL,
  4.  PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

Si te sale incompleta (algo como CREATE TABLE `pruebas` ( `id` int(11) NOT NULL A...) debes de dar en +Opciones que aparece encima de la tabla de resultados y seleccionar Textos Completos y continuar...

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 13/12/2013, 15:24
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Voy a la base de datos, en la tabla en sql pongo:

Código:
SHOW CREATE TABLE nombre de la tabla
Y le doy a continuar y me da este error:

Código:
#1146 - Table 'nombre' doesn't exist
¿O quieres que cree una base de datos nueva?.


¿Que tengo que mostraros para que me podáis ayudar¿ :(

Saludos.
  #10 (permalink)  
Antiguo 13/12/2013, 15:30
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

A ver, primero ingresaste a PhpMyAdmin, luego ingresaste a la base de datos de la tabla que tiene el error y luego dentro de la base de datos ejecutaste el código de SHOW CREATE? el nombre de la tabla es el correcto?

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #11 (permalink)  
Antiguo 13/12/2013, 15:37
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Aquí los datos:



y esto:



Saludos.
  #12 (permalink)  
Antiguo 13/12/2013, 15:40
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

Bueno creo que aquí en el foro aprendí a ser paciente

Si hubieses revisado el link de SHOW CREATE TABLE y si traducieras ese comando al español diría

MOSTRAR CREAR TABLA

Así que debes de colocar el nombre de la tabla, no el de la base de datos...

PD: Mejor dicho

Código SQL:
Ver original
  1. SHOW CREATE TABLE sendes

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #13 (permalink)  
Antiguo 13/12/2013, 15:42
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Me da este resultado:



¿qué opinas cual podría ser el error?
  #14 (permalink)  
Antiguo 13/12/2013, 16:22
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al crear dato

Tienes un problema garrafal de creación de la tabla. Normalmente (no es regla) yo no coloco un campo varchar de mas de 250 caracteres, campos como mision o coins deben de ser tipo TEXT ya que para eso existen, almacenar gran cantidad de información... No se que opine el maestro @gnzsoloyo o que otros cambios hay que hacer... Si pones la lógica verás que muchos de los campos no necesitan ser tan grandes ya que realmente no alcanzan a ocupar toda la capacidad de la columna (por ende se genera un desperdicio) nunca encontraras un mail, país, nombres o apellidos que superen los 500 caracteres... Debes de replantear la estructura de la tabla.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #15 (permalink)  
Antiguo 13/12/2013, 16:29
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

¿Pero no se puede hacer algo para que text contenga un texto por defecto? OSea que me deje ponerle un defecto.
  #16 (permalink)  
Antiguo 13/12/2013, 17:17
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Error al crear dato

Tema solucionado rebaje el valor de los vachar y me da para más. muchas gracias por la ayuda.

Etiquetas: dato, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:34.