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

Error al ejecutar secuencia SQL

Estas en el tema de Error al ejecutar secuencia SQL en el foro de Mysql en Foros del Web. Buenas tardes, estoy intentando reestablecer una base de datos MySQL con el archivo backup (.SQL) El mismo, fue realizado por el foro PHPBB, desde el ...
  #1 (permalink)  
Antiguo 29/08/2007, 17:04
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Error al ejecutar secuencia SQL

Buenas tardes, estoy intentando reestablecer una base de datos MySQL con el archivo backup (.SQL)

El mismo, fue realizado por el foro PHPBB, desde el panel de control, Realizar backup.
Cuando quiero reestablecerla desde ahi me sale "no file uploaded"

Luego intente hacerlo local en mi pc...instale el foro con un apache...el appserv, es un paquete, apache+mysql

cuando intento ejecutar el archivo SQL, lo hago desde el programa HEIDI SQL (es similiar al MySQL FRONT)

el tema es que comienza a generar las tablas y a ingresar los datos, pero en un punto me tira el siguiente error:

Cita:
"SQL ERROR: Duplicate Entry 'acord~As' for key 1"
NOTA: en el error, el "~" esta arriba de la A.

Fijandome en la base de datos, hay dos datos:

palabra 'acordas'
palabra 'acordás'

no hay duplicados, solamente uno tiene acento y el otro no.

entonces, como puedo hacer para que obvie estos errores al hacer el backup, sin eliminar PALABRA x PALABRA?

muchisimas gracias!

Última edición por j_serrano; 29/08/2007 a las 17:21
  #2 (permalink)  
Antiguo 29/08/2007, 17:30
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error al ejecutar secuencia SQL

Bueno, seria bueno que mostraras el archivo .sql, ya qyue asi podriamos determinar cual es la causa, aunque por el mensaje de error, ese campo donde estan esas palabras aparece como llave primaria, y si es asi no pueden repetirse valores y tambien que aunque en una aparezca con tilde la palabra y en otro sin tilde, puede haber problema en la colacion (collation) de la tabla, pues hay ciertos collation que no reconocen las tildes o las ignoran.
  #3 (permalink)  
Antiguo 29/08/2007, 18:04
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Cita:
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('comento', '5633', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('comenté', '5910', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('comentó', '5008', '0');
Este es un fragmento del archivo SQL.
No puedo adjuntar archivos.
  #4 (permalink)  
Antiguo 29/08/2007, 18:10
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error al ejecutar secuencia SQL

Bueno, por lo que veo, considero que talvez el problema esté en si alguno de esos campos es llave primaria o campo único, o el collation de la tabla, porque si tiene uno que ignores las tildes entonces tomaría algunos valores como iguales.
  #5 (permalink)  
Antiguo 29/08/2007, 21:33
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Ok, y como lo soluciono? es una tabla de phpbb no puedo modificarla...
  #6 (permalink)  
Antiguo 30/08/2007, 17:05
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error al ejecutar secuencia SQL

Si, y francamente nunca he usado ese paquete llamado phpbb, pero independientemente de eso

Cita:
cuando intento ejecutar el archivo SQL, lo hago desde el programa HEIDI SQL (es similiar al MySQL FRONT)
Mencionas que tienes un archivo SQL, el cual es *.sql, entonces puedes abrir el archivo sql aunque no lo abras con un software determinado, simplemente abrelo con el block de notas aunque parezca que no se puede abrir, abrelo y editalo desde el block de notas, y lo que debes de editar es en la parte donde se crea la tabla y se establecen los campos, hay una parte que dicen

COLLATION o COLLATE = utf8_unicode

no sae que tipo de collate tendran tus tablas, pero debes ponerle una que reconozca las tildes, para ello puedes buscar en la ayuda de mysql, aunque, no te aseguro que eso solucione tu problema, yo considero que talvez eso puede ser, intentalo.
  #7 (permalink)  
Antiguo 30/08/2007, 19:53
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Cita:
Iniciado por 0skar Ver Mensaje
Si, y francamente nunca he usado ese paquete llamado phpbb, pero independientemente de eso



Mencionas que tienes un archivo SQL, el cual es *.sql, entonces puedes abrir el archivo sql aunque no lo abras con un software determinado, simplemente abrelo con el block de notas aunque parezca que no se puede abrir, abrelo y editalo desde el block de notas, y lo que debes de editar es en la parte donde se crea la tabla y se establecen los campos, hay una parte que dicen

COLLATION o COLLATE = utf8_unicode

no sae que tipo de collate tendran tus tablas, pero debes ponerle una que reconozca las tildes, para ello puedes buscar en la ayuda de mysql, aunque, no te aseguro que eso solucione tu problema, yo considero que talvez eso puede ser, intentalo.

Si, sabia que se podia abrir como un txt, en cuanto llegue a casa lo pruebo y cualquier otro problema posteo de nuevo, muchisimas gracias oskar!!! :D:D:D:D:D
  #8 (permalink)  
Antiguo 30/08/2007, 22:50
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Hola de nuevo...probe con COLLATION y COLLATE, no lo reconoce...

es aqui donde debo ponerlo?



Gracias de nuevo...
  #9 (permalink)  
Antiguo 01/09/2007, 00:16
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error al ejecutar secuencia SQL

Si, luego de donde dice

KEY word_id (word_id)

debes de poner cosas tales como el motor de almacenamiento si lo vas a pasar a mysql, el charset y el collate de la siguiente manera:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

ese collate si reconoce las tildes. Prueba con ese a ver que tal
  #10 (permalink)  
Antiguo 02/09/2007, 19:18
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Hola de nuevo...

sigue sin funcionar, copie y pegue lo que vos me dijiste y me tira error de sql.

te dejo el codigo TAL CUAL ESTA AHORA, me lo modificarias como para dejarlo andando con lo que decis vos? No lo puedo hacer andar!

Cita:
#
# TABLE: phpbb_search_wordlist
#
DROP TABLE IF EXISTS phpbb_search_wordlist;
CREATE TABLE phpbb_search_wordlist(
word_text varchar(50) NOT NULL,
word_id mediumint(8) unsigned NOT NULL auto_increment,
word_common tinyint(1) unsigned NOT NULL,
PRIMARY KEY (word_text),
KEY word_id (word_id)
);

#
# Table Data for phpbb_search_wordlist
#

INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('0', '4875', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('000', '4541', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('00hs', '1461', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1', '2507', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('10', '430', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('100', '301', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1034', '318', '0');

Y siguen los 'insert into' pero son muchisimos!
Mil gracias!!!
  #11 (permalink)  
Antiguo 05/09/2007, 10:50
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error al ejecutar secuencia SQL

#
# TABLE: phpbb_search_wordlist
#
DROP TABLE IF EXISTS phpbb_search_wordlist;
CREATE TABLE phpbb_search_wordlist(
word_text varchar(50) NOT NULL,
word_id mediumint(8) unsigned NOT NULL auto_increment,
word_common tinyint(1) unsigned NOT NULL,
PRIMARY KEY (word_text),
KEY word_id (word_id)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci
#El InnoDB es el motor, puedes poner ese o MyISAM dependiendo de que motor de almacenamiento estes utilizando
);

#
# Table Data for phpbb_search_wordlist
#

INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('0', '4875', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('000', '4541', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('00hs', '1461', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1', '2507', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('10', '430', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('100', '301', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1034', '318', '0');
  #12 (permalink)  
Antiguo 10/09/2007, 00:21
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

hola de nuevo...lo que me pasaste oskar no me funciono, pero investigando y con un amigo sacamos esto, pero me sigue tirando error de duplicacion...tal vez con otro collate?

Cita:
DROP TABLE IF EXISTS phpbb_search_wordlist;
CREATE TABLE phpbb_search_wordlist (
word_text varchar(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
word_id mediumint(8) unsigned NOT NULL auto_increment,
word_common tinyint(1) unsigned NOT NULL,
PRIMARY KEY (word_text),
KEY word_id (word_id)
);
  #13 (permalink)  
Antiguo 18/09/2007, 23:41
Avatar de j_serrano  
Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años
Puntos: 0
Re: Error al ejecutar secuencia SQL

Bueno, lo solucione, pero sin collate, simplemente saque la llave primaria del codigo, y anduvo bien, y hasta ahora el phpBB no parece quejarse...

El codigo quedo asi:

Cita:
#
# TABLE: phpbb_search_wordlist
#
DROP TABLE IF EXISTS phpbb_search_wordlist;
CREATE TABLE phpbb_search_wordlist(
word_text varchar(50) NOT NULL,
word_id mediumint(8) unsigned NOT NULL auto_increment,
word_common tinyint(1) unsigned NOT NULL,
KEY word_id (word_id)
);

#
# Table Data for phpbb_search_wordlist
#

INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('0', '4875', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('000', '4541', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('00hs', '1461', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1', '2507', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('10', '430', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('100', '301', '0');
INSERT INTO phpbb_search_wordlist (word_text, word_id, word_common) VALUES('1034', '318', '0');

{mas datos...}
Muchas gracias a todos...
  #14 (permalink)  
Antiguo 04/02/2008, 11:28
Avatar de Aken  
Fecha de Ingreso: julio-2004
Ubicación: Barcelona
Mensajes: 267
Antigüedad: 19 años, 9 meses
Puntos: 1
Re: Error al ejecutar secuencia SQL

me he encontrado con el mismo error, voy a ver si funciona, porque no es nada bonito encontrarse con esto :(

Saludos.
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 05:35.