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

Referenciar tablas desde fichero txt

Estas en el tema de Referenciar tablas desde fichero txt en el foro de Mysql en Foros del Web. Buenas a todos tengo un problema en un ejercicio que tengo que entregar y no se como salir de esta. Os pongo en situacion. Cree ...
  #1 (permalink)  
Antiguo 14/05/2012, 13:55
 
Fecha de Ingreso: marzo-2011
Mensajes: 37
Antigüedad: 13 años, 1 mes
Puntos: 0
Referenciar tablas desde fichero txt

Buenas a todos tengo un problema en un ejercicio que tengo que entregar y no se como salir de esta. Os pongo en situacion.

Cree las siguientes tablas de la base de datos ordenadores:

CREATE TABLE MARCAS
(ID_MARCA INT AUTO_INCREMENT,
MARCA VARCHAR(50),
CONSTRAINT PK_MARCAS PRIMARY KEY (ID_MARCA));

CREATE TABLE MODELOS(
ID_MOD INT AUTO_INCREMENT,
ID_MARCA INT,
MODELO VARCHAR(50),
CONSTRAINT PK_MODELOS PRIMARY KEY(ID_MOD));


CREATE TABLE equipos(
ID_EQUIPO INT AUTO_INCREMENT,
ID_MOD INT,
SO VARCHAR(10),
PRECIO INT(10),
CONSTRAINT pk_equipos PRIMARY KEY(ID_EQUIPO));

Todo correcto hasta aqui.

Cree un usuario para darle privilegios en todo y poder manejar ficheros .txt

GRANT ALL PRIVILEGES ON ordenadores.* TO usuario@localhost
IDENTIFIED BY 'passusuario';

GRANT FILE ON *.* TO 'usuario'@'localhost';

FLUSH PRIVILEGES;

Todo bien.

Lo que tengo que hacer es lo siguiente:

Establecer conexion con el usuario para acceder a la base de datos ordenadores. Analizar las tabla existentes y realizar con usuario los pasos necesarios para pasar la informacion desde el fichero ordenadores.txt a las tablas marcas, modelos, equipos, teniendo en cuenta que los campos llamados ID_ en cada tabla deben ser de tipo auto_increment.

Hice los siguiente, cree una tabla auxiliar (ya que me lo exigen) para pasarle todos los datos del fichero y funciona correctamente.

CREATE TABLE IF NOT EXISTS auxiliar(
marca varchar(50),
modelo varchar(50),
so varchar(10),
precio int(10));

LOAD DATA INFILE 'c:\\CursoMySQL\\ordenadores.txt'
INTO TABLE auxiliar
FIELDS TERMINATED BY '#' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

¿Como hago para que me salga la informacion que carge en auxiliar en las diferentes tablas? ¿que restricciones de integridad tengo que incluir?

He probado a crear la tabla auxiliar con una clave foranea para vincular pero me da el siguiente error: ERROR 1005 (HY000): Can't create table (errno: 150)

A ver si me podeis ayudar que ando perdido y tengo que entregar esto mañana. Un saludo y gracias.

Etiquetas: fichero, sql, tabla, tablas, txt, campos
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 22:08.