Foros del Web » Programando para Internet » PHP »

problema al insertar datos en una tabla

Estas en el tema de problema al insertar datos en una tabla en el foro de PHP en Foros del Web. hola; estoy intentando insertar lo siguiente; esta es la tabla, Cita: CREATE TABLE `muestra` ( `id` int(5) NOT NULL default '0', `familia` varchar(255) NOT NULL ...
  #1 (permalink)  
Antiguo 12/02/2010, 12:40
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
problema al insertar datos en una tabla

hola;

estoy intentando insertar lo siguiente;

esta es la tabla,


Cita:
CREATE TABLE `muestra` (
`id` int(5) NOT NULL default '0',
`familia` varchar(255) NOT NULL default '',
`relacion` int(5) NOT NULL default '0',
`cod` varchar(25) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
esto trato de insertar;
Cita:
INSERT INTO `muestra` (`id`, `familia`, `relacion`, `cod`) VALUES

(1, 'MEDICINA NATURAL', 1, 001A),
(2, 'HOMEOPATIA', 1, 001B),

//aqui van varios mas identicos sin falta, los corregi pacientemente hasta el 410.

(410, 'ACUPUNTURA-REFLEXOLOGIA Y AFINES', 1, 001C);

y este es el error sql


Cita:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 411

que podria ser...
  #2 (permalink)  
Antiguo 12/02/2010, 12:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al insertar datos en una tabla

'001A' los códigos, al ser cadenas necesitan comillas
  #3 (permalink)  
Antiguo 12/02/2010, 12:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: problema al insertar datos en una tabla

como es eso?
porque es alfanumerico?


al ser entonces
"132A"

aparecen sin las comillas en la tabla cierto?
  #4 (permalink)  
Antiguo 12/02/2010, 12:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: problema al insertar datos en una tabla

Cita:
Iniciado por etisdemian Ver Mensaje
como es eso?
porque es alfanumerico?


al ser entonces
"132A"

aparecen sin las comillas en la tabla cierto?
las comillas son para indicar que es una cadena de caracteres, en la tabla se guarda solo el valor que esta dentro de las comillas.
  #5 (permalink)  
Antiguo 12/02/2010, 12:50
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: problema al insertar datos en una tabla

Tanto los números como los carácteres los puedes introducir con comillas no? yo lo pongo todo con comillas simples y nunca me ha dado problemas.

('123', 'morior', 'hola', '0suba')
__________________
Juego de navegador online
  #6 (permalink)  
Antiguo 12/02/2010, 12:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al insertar datos en una tabla

Cita:
Iniciado por morior Ver Mensaje
Tanto los números como los carácteres los puedes introducir con comillas no? yo lo pongo todo con comillas simples y nunca me ha dado problemas.

('123', 'morior', 'hola', '0suba')
bueno, en mysql no hay problemas, pero en otras BD si pueden restringir los tipos de forma estricta
  #7 (permalink)  
Antiguo 12/02/2010, 12:54
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: problema al insertar datos en una tabla

Los campos INT o DOUBLE incluso DATE no es aconsejable ponerle comillas;
Los campos de texto es OBLIGATORIO ponerle comillas.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 12/02/2010, 12:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: problema al insertar datos en una tabla

ah muy bien, cuando es solo un numero no lo necesita

(1, 'MEDICINA NATURAL', 1, '001A'),


aqui el uno no da problemas.

Última edición por etisdemian; 12/02/2010 a las 13:05
  #9 (permalink)  
Antiguo 12/02/2010, 12:55
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: problema al insertar datos en una tabla

Ok, gracias por la info, es algo que ignoraba. Yo sólo trabajo con Mysql y mis conocimientos pues andan justitos. Muy buenos los aportes. Así que cuando introduzca un dato en la BD que sé que es numérico me recomendáis hacerlo con comillas?

Me tendré que poner a revisar todo el código...

Una cursiosidad, si sois tan amables. ¿Alguien me puede dar una explicación de por qué es recomendable?
__________________
Juego de navegador online
  #10 (permalink)  
Antiguo 12/02/2010, 13:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al insertar datos en una tabla

mysql es muy ligero en cuanto a restricción de tipos, por eso no da problemas ahora, pero ¿imagínate que saquen (aunque lo dudo) una versión que si discrimine correctamente los tipos?: seria fatal para tu código ya que el simple echo de pasar un numero como cadena provocaría errores.

otra cosa que no me gustó mucho de mysql es que no valida fechas, es decir que si quieres introducir las fechas DD/MM/AAAA siguientes:

00/00/0000 ó 30/02/2000

te las toma sin protestar!, aunque es bueno siempre hacer nuestras validaciones por nuestra cuenta, esto se puede prestar para corromper la data!!!
  #11 (permalink)  
Antiguo 12/02/2010, 13:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: problema al insertar datos en una tabla

(1, 'MEDICINA NATURAL', 5, '001A');

esto me arrojo error.

acaso hay que ponerle comillas al 5 tambien?
  #12 (permalink)  
Antiguo 12/02/2010, 13:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al insertar datos en una tabla

Cita:
Iniciado por etisdemian Ver Mensaje
(1, 'MEDICINA NATURAL', 5, '001A');

esto me arrojo error.

acaso hay que ponerle comillas al 5 tambien?
no creo, debe ser otro error, en otra parte de la sql
  #13 (permalink)  
Antiguo 12/02/2010, 13:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: problema al insertar datos en una tabla

esto esta bien, por lo que hablamos,
Cita:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


INSERT INTO `muestra` (`id`, `familia`, `relacion`, `cod´) VALUES

(1, 'MEDICINA NATURAL', 1, '001A');



solucionado, el segunda comilla de cod esta al tevez, jeje. muchas gracias

Última edición por etisdemian; 12/02/2010 a las 13:48

Etiquetas: tablas
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 12:50.