Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2015, 04:26
noejb
 
Fecha de Ingreso: marzo-2015
Mensajes: 66
Antigüedad: 9 años, 2 meses
Puntos: 0
Como no duplicar registros en mysql con php

Buenos días, tengo un problemilla que no se solucionar y me trae de cabeza, esto de aprender sql y php me esta dando muuuchas complicaciones pero creo que al final me esta enganchando...

El problema es:

En una base de datos sql tengo:

id fecha hora nivel
5 2015-03-14 03:21:47,324 1
6 2015-03-14 03:21:48,089 1
7 2015-03-14 03:21:48,089 3
8 2015-03-14 03:21:48,113 2

Para ingresar los registros desde un txt compruebo si esta uno por uno ya en la base de datos para no repetirlos.

Por ejemplo siendo mi txt:

2015-03-14;03:21:46,224;2
2015-03-14;03:21:48,089;3

La primera linea la ingresa sin problemas puesto que no esta repetida en la base de datos.

El problema viene en la segunda linea:
1.compruebo si la hora esta repetida: si esta repetida
2.compruebo si tambien la fecha de este mismo registro coincide: si coincide
3.Compruebo si nivel tambien coincide Y... aqui viene el problema:
para realizar la comprobacion busco si existe con:
$consulta="select id from mitabla where hora=´03:21:48,089´";
$retorno=mysql_query($consulta);
$resultado=mysql_fetch_array($retorno);
Por tanto $resultado[0]=id, pero solo al primer id, no al segundo donde hay coincidencia por tanto me dice que no esta repetida, pero es FALSO! esta repetida!!, pero no en el registro en el que estoy mirando, y por tanto duplica el registro.
Para que no duplique los registros tendria que acceder a la segunda id que tiene con la segunda coincidencia.

Alguna idea de si resultado[] contiene los dos id de los que ha encontrado coincidencia o solo contiene el primero donde encontro coincidencia?
?Cómo podría acceder al segundo id donde encontro coinciencia en la hora?

Mil gracias!!!