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

No se borran los registros

Estas en el tema de No se borran los registros en el foro de Mysql en Foros del Web. Hola colegas, veran aunque parezca raro he usado Mysql muy pero muy pocas veces. Ahora me ha tocado usarla y estoy generando un sistema de ...
  #1 (permalink)  
Antiguo 06/11/2009, 19:33
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
No se borran los registros

Hola colegas, veran aunque parezca raro he usado Mysql muy pero muy pocas veces.

Ahora me ha tocado usarla y estoy generando un sistema de calificaciones de alumnos, pues bien, como estoy en la etapa de pruebas, genere un script en php que toma la informacion de unos archivos DBF y los inserta en unas tablas que cree en Mysql, para esto lo que hago con php es primero darle un DELETE FROM para que borre la informacion anterior e inserte nuevamente los registros que leo de los archivos DBF.

Al ver la informacion con el phpmyadmin resulta que la informacion no se borra, por lo cual se me duplica el numero de resgitros en cada tabla


Código:
while() //ciclo para recorrer todos los archivos
{

$SQL="DELETE FROM '$Tabla';";    //Borro la informacion previa
            echo "<p>$SQL";
            mysql_query($SQL);                    //Ejecuto la sentencia
            $SQL="TRUNCATE TABLE '$Tabla';";    //Borro la informacion previa
            echo "<p>$SQL";
            mysql_query($SQL);                    //Ejecuto la sentencia                        


...
Codigo de los INSERT en las tablas
....

}
Las tablas si me las lee bien ya que me imprime correctamente las sentencias sql y ademas si me inserta los registros (por eso se duplican)

Código:
DELETE FROM 'alumno';
TRUNCATE TABLE 'alumno';


DELETE FROM 'materia';
 TRUNCATE TABLE 'materia';
 ...
  #2 (permalink)  
Antiguo 06/11/2009, 19:35
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: No se borran los registros

Se me olvidaba, segun esto tengo la version de MYSQL (5.0.51a) y el phpMyAdmin - 2.10.3, en plataforma Windows
  #3 (permalink)  
Antiguo 07/11/2009, 07:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: No se borran los registros

sergestux.... tu codigo lo veo bien, pero me causa curiosidad que encierres entre comillas simples el nombre de la tabla. Creo que es ahí donde está tu problema.

O utilizaste apostrofes o no utilizaste comillas y realmente nunca te está ejecutando los delete, razón por la cual se te duplica la info cuando vuelves a copiarla.

haz un mysql _error para ver el error.
Código php:
Ver original 
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 07/11/2009, 08:28
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: No se borran los registros

Si efectivamente eran las comillas simples, (no se por que se las puse), ahora si funciona bien con el DELETE unicamente .

Ahora me surge otra dudita, al estar haciendo este tipo de pruebas, de borrado e insercion de registros. Es necesario hacer algo mas para que no haya problemas posteriores, como tal vez borrar algunos indices o solo con delete basta?

'TRUNCATE' es mas efectivo que DELETE?
  #5 (permalink)  
Antiguo 07/11/2009, 08:36
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: No se borran los registros

delete borra registros.
truncate digamos que hace una especie de formateo.

una diferencia notable entre ambas es en el uso de un campo auto_increment.
con delete, el auto_increment continúa con el valor a seguir... con truncate este vuelve a ser cero.
http://www.conclase.net/mysql/curso/...p?sen=TRUNCATE

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 07/11/2009, 08:39
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: No se borran los registros

Gracias, entonces en mi caso usare TRUNCATE, ya que necesito que toda la informacion se reemplaze por completo por la que estoy insertando
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 17:25.