MySQL - Insercion condicional

 
Vista:
sin imagen de perfil

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Insercion condicional

Publicado por Juan Manuel Castañeda (62 intervenciones) el 25/09/2013 01:38:24
Si quiere que DNI sea único defina el campo cómo UNIQUE o cómo PRIMARY KEY
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar