![]() |
Mensaje para no duplicar la clave primaria de la base de datos
Holas a todos, tengo un problema con una aplicación web que creado, funciona todo OK pero cuando inserto una serie de datos que van a una tabla y en esa serie de datos duplico la clave primaria y se sustituye por la anterior, quisiera saber si existe algún código que te avise para cuando intentes duplicar la clave primaria.
Muxas gracias por su atención. Un saludo... |
Si estas haciendo un insert en un motor ANSI SQL no puedes insertar claves repetidas, fallará automáticamente, y esa puede ser una de las formas de "darse cuenta".
¿Que motor estas usando? |
Cita:
Lo he probado lo que hace es sustituir por la anterior, existe alguna forma para que no lo haga directamente? algo que te diga que esa clave primaria ya existe?¿? Muchas gracias. |
Com MySql??.. que motor de base de datos???
¿Puedes mostrarnos el código del insert y de ser posible el script de creación de la tabla? |
Cita:
Tengo en php una consulta sql para introducir datos a la base de datos, si la clave primaria la he puesto con un codigo de alumno existente por otra aplicación y cuando quiera insertar otro alumno y se me vaya el dedo y ponga el mismo numero de alumno que otro ya existente en la aplicación web pero el alumno es diferente se sustituiria!!! existe algo para que al introducir un codigo existente te salte un error?¿? (NO se puede insertar este alumno ya que existe otro alumno con el mismo codigo). |
Este script es para demostrarte como si existe un registro con la misma clave primaria, en este caso ID_ALUMNO, el mismo motor (MySql) produce un error.
Me interesaría ver que es lo que estas haciendo, dudo que sea algo similar a lo que te estoy mostrando, para poder guiarte. Sino vamos a trabajar sobre suposiciones y hay mucho para suponer. Saludos! |
lo que tambien puedes hacer es que cuando ingreses el codigo del alumno, consultes en la Tabla si existe un registro con ese codigo.. esto es como para no escribir todos los datos y cuando quieras almacenar te diga que ya existe el codigo y tienes escribir todo de nuevo...:p
|
Cita:
Hasta Luego .- |
Hola, entiendo que es algo así lo que Ivansito quiere...
Cita:
$link = mysql_connect("localhost", "usuario", "clave"); mysql_select_db("midb", $link); //Conectandome Fini $Estudiante = $_POST['EdEstudiante']; //leyendo datos de la tabla estudiantes ini $result = mysql_query("SELECT ESTUDIANTE FROM Taestudiantes WHERE ESTUDIANTE = '$Estudiante'"); $row = mysql_fetch_row($result); //leyendo datos de la tabla estudiantes Fini $Rrow = "$row[0]"; if ($Estudiante == $Rrow) { echo 'No lo puede agregar, porque este Estudiante ya existe'; } else { echo 'Se insertó satisfactoriamente'; } |
La franja horaria es GMT +2. Ahora son las 13:03:21. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi