
Insercion condicional
Publicado por Javier (21 intervenciones) el 20/09/2013 19:30:11
Hola.
Intento insertar un registro en la tabla si no existe con la siguiente sentencia de mysql:
$grabasid = "INSERT INTO pagos(dni,nombre,apellido1,apellido2,pagado,fechapago) VALUES ('".$dni."','".$nombre."','".$ape1."','".$ape2."','no','".$diaalta."') WHERE '$dni' NOT IN ( SELECT dni FROM pagos WHERE dni ='$dni' );";
Lo he intentado tambien con :
$grabasid = "INSERT INTO pagos(dni,nombre,apellido1,apellido2,pagado,fechapago) VALUES ('".$dni."','".$nombre."','".$ape1."','".$ape2."','no','".$diaalta."') WHERE '$dni' NOT EXISTS ( SELECT dni FROM pagos WHERE dni ='$dni' );";
Pero en ambos casos me retorna error de sintaxis:
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 'WHERE 'xxxxxxx' NOT IN ( SELECT dni FROM pagos WHERE dni ='xxxxxxx' )' at line 1
¿Qué estoy haciendo mal?.
Muchas gracias y un saludo,
Javier.
Intento insertar un registro en la tabla si no existe con la siguiente sentencia de mysql:
$grabasid = "INSERT INTO pagos(dni,nombre,apellido1,apellido2,pagado,fechapago) VALUES ('".$dni."','".$nombre."','".$ape1."','".$ape2."','no','".$diaalta."') WHERE '$dni' NOT IN ( SELECT dni FROM pagos WHERE dni ='$dni' );";
Lo he intentado tambien con :
$grabasid = "INSERT INTO pagos(dni,nombre,apellido1,apellido2,pagado,fechapago) VALUES ('".$dni."','".$nombre."','".$ape1."','".$ape2."','no','".$diaalta."') WHERE '$dni' NOT EXISTS ( SELECT dni FROM pagos WHERE dni ='$dni' );";
Pero en ambos casos me retorna error de sintaxis:
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 'WHERE 'xxxxxxx' NOT IN ( SELECT dni FROM pagos WHERE dni ='xxxxxxx' )' at line 1
¿Qué estoy haciendo mal?.
Muchas gracias y un saludo,
Javier.
Valora esta pregunta


0