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

Insert en Mysql

Estas en el tema de Insert en Mysql en el foro de Mysql en Foros del Web. Mediante php intento hacer el siguiente INSERT en una bd Mysql: Código: INSERT INTO incidencia (Id,CodError,TxtError,Sentencia,Param1,Usuario,Web,UsrAlta,FechaAlta) VALUES ('200892214945168', '1054', 'Unknown column 'IdReserv' in 'where clause'', ...
  #1 (permalink)  
Antiguo 02/09/2008, 13:56
 
Fecha de Ingreso: noviembre-2004
Mensajes: 92
Antigüedad: 19 años, 5 meses
Puntos: 0
Insert en Mysql

Mediante php intento hacer el siguiente INSERT en una bd Mysql:

Código:
INSERT INTO incidencia
 (Id,CodError,TxtError,Sentencia,Param1,Usuario,Web,UsrAlta,FechaAlta) 
VALUES 
('200892214945168',
'1054',
'Unknown column 'IdReserv' in 'where clause'',
'UPDATE reserva SET Estado=1 WHERE IdReserv="1"',
'Actualizar Reservas',
'[email protected]',
'Delanada Resort',
'PanelReservas',
'200892-214945')
Pero me devuelve el siguiente error:

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 'IdReserv' in 'where clause'','UPDATE reserva SET Estado=1 WHERE

¿Porque el gestor de base de datos confunde el UPDATE que hay como valor del INSERT como una sentencia sql?.

¿Sabeis que puede hacer para insertar en campo de una bd mysql una sentencia sql como texto?
  #2 (permalink)  
Antiguo 02/09/2008, 13:59
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Insert en Mysql

primero que tdo Id,CodError, estan definidos como varchar o como enteros en la base de datos???
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 02/09/2008, 14:00
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Insert en Mysql

por q si lo tienes cmo enteros tienes que qitarles las comillas simples
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 02/09/2008, 14:02
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insert en Mysql

No hay ningún error extraño ni nada, el problema es simplemente que estás delimitando el campo con una comilla, y estás usando la misma comilla dentro de la cadena. Deberías escapar las comillas de IdReserv y "where clause"

Código:
'Unknown column \'IdReserv\' in \'where clause\''
Saludos.
  #5 (permalink)  
Antiguo 02/09/2008, 14:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Insert en Mysql

El problema es por las comillas simples. Usa acentos invertidos (`) cuando son nombres de columnas.
  #6 (permalink)  
Antiguo 02/09/2008, 15:18
 
Fecha de Ingreso: noviembre-2004
Mensajes: 92
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Insert en Mysql

Os contesto...

Id y CodError son varchar.

El problema, efectivamente, era la comisilla simple del texto de error, no de la sentencia sql.


Gracias a todos.
  #7 (permalink)  
Antiguo 02/09/2008, 16:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Insert en Mysql

Tema trasladado a MySQL.
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 08:50.