toro_sentado_oriental
Becerro
- Desde
- 15 Feb 2010
- Mensajes
- 11
- Tema Autor
- #1
Que tal amigos del corral les cuento mi problema
Tengo una base de datos Mysql con dos tablas diferentes y se me encargo unificar los datos de las dos tablas en una nueva tabla con distinta estructura en otra base de datos.
Al principio pense que el problema principal seria meter los datos de las dos tablas en una por que tienen distinta estructura pero al estar metiendo los datos me di cuenta que tengo registros repetidos en id_paciente que es la llave primaria pero con distinto nombre asi que meti los datos de las dos en una nueva y le quite la llave primaria y no hubo problema pero se me ocurrio generar una cuenta y esa meterla en el id para que no tener problema con los registros y mantenerlos, pero hasta ahorita lo que he intentado no ha funcionado. Les dejo la estructura de mis tablas esperando me puedan ayudar
---------Tabla origen donde se encuentran los duplicados
CREATE TABLE `pacientes` (
`id_paciente` int(4) NOT NULL auto_increment,
`nombre` varchar(50) collate latin1_general_ci default NULL,
`id_trato` int(2) default NULL,
`sexo` char(1) collate latin1_general_ci default NULL,
`fecha_nacimiento` datetime default NULL,
`id_estado_civil` int(2) default NULL,
`calle_no` varchar(50) collate latin1_general_ci default NULL,
`colonia` varchar(25) collate latin1_general_ci default NULL,
`del_mun` varchar(30) collate latin1_general_ci default NULL,
`id_estado` int(2) default NULL,
`cp` varchar(5) collate latin1_general_ci default NULL,
`tel_casa` varchar(25) collate latin1_general_ci default NULL,
`tel_trabajo` varchar(10) collate latin1_general_ci default NULL,
`ext_tel_trabajo` varchar(4) collate latin1_general_ci default NULL,
`tel_fax` varchar(10) collate latin1_general_ci default NULL,
`tel_cel` varchar(13) collate latin1_general_ci default NULL,
`tel_biper` varchar(10) collate latin1_general_ci default NULL,
`clave_biper` varchar(6) collate latin1_general_ci default NULL,
`correo` varchar(50) collate latin1_general_ci default NULL,
`representante` varchar(50) collate latin1_general_ci default NULL,
`no_expediente` varchar(20) collate latin1_general_ci NOT NULL default '',
`notas` mediumtext collate latin1_general_ci,
PRIMARY KEY (`id_paciente`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
-------------Tabla destino
CREATE TABLE `uro_paciente` (
`uro_id_paciente` int(11) NOT NULL AUTO_INCREMENT,
`pa_nombre` varchar(45) NOT NULL,
`pa_edad` decimal(2,0) DEFAULT NULL,
`pa_sexo` varchar(10) DEFAULT NULL,
`pa_telefono` varchar(45) DEFAULT NULL,
`pa_celular` varchar(45) DEFAULT NULL,
`pa_fec_nac` date DEFAULT NULL,
`pa_correo` varchar(45) DEFAULT NULL,
PRIMARY KEY (`uro_id_paciente`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;
Y si se puede aprovechando como insertar nadamas en la tabla destino solo el nombre y el id del paciente.
Gracias
Tengo una base de datos Mysql con dos tablas diferentes y se me encargo unificar los datos de las dos tablas en una nueva tabla con distinta estructura en otra base de datos.
Al principio pense que el problema principal seria meter los datos de las dos tablas en una por que tienen distinta estructura pero al estar metiendo los datos me di cuenta que tengo registros repetidos en id_paciente que es la llave primaria pero con distinto nombre asi que meti los datos de las dos en una nueva y le quite la llave primaria y no hubo problema pero se me ocurrio generar una cuenta y esa meterla en el id para que no tener problema con los registros y mantenerlos, pero hasta ahorita lo que he intentado no ha funcionado. Les dejo la estructura de mis tablas esperando me puedan ayudar
---------Tabla origen donde se encuentran los duplicados
CREATE TABLE `pacientes` (
`id_paciente` int(4) NOT NULL auto_increment,
`nombre` varchar(50) collate latin1_general_ci default NULL,
`id_trato` int(2) default NULL,
`sexo` char(1) collate latin1_general_ci default NULL,
`fecha_nacimiento` datetime default NULL,
`id_estado_civil` int(2) default NULL,
`calle_no` varchar(50) collate latin1_general_ci default NULL,
`colonia` varchar(25) collate latin1_general_ci default NULL,
`del_mun` varchar(30) collate latin1_general_ci default NULL,
`id_estado` int(2) default NULL,
`cp` varchar(5) collate latin1_general_ci default NULL,
`tel_casa` varchar(25) collate latin1_general_ci default NULL,
`tel_trabajo` varchar(10) collate latin1_general_ci default NULL,
`ext_tel_trabajo` varchar(4) collate latin1_general_ci default NULL,
`tel_fax` varchar(10) collate latin1_general_ci default NULL,
`tel_cel` varchar(13) collate latin1_general_ci default NULL,
`tel_biper` varchar(10) collate latin1_general_ci default NULL,
`clave_biper` varchar(6) collate latin1_general_ci default NULL,
`correo` varchar(50) collate latin1_general_ci default NULL,
`representante` varchar(50) collate latin1_general_ci default NULL,
`no_expediente` varchar(20) collate latin1_general_ci NOT NULL default '',
`notas` mediumtext collate latin1_general_ci,
PRIMARY KEY (`id_paciente`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
-------------Tabla destino
CREATE TABLE `uro_paciente` (
`uro_id_paciente` int(11) NOT NULL AUTO_INCREMENT,
`pa_nombre` varchar(45) NOT NULL,
`pa_edad` decimal(2,0) DEFAULT NULL,
`pa_sexo` varchar(10) DEFAULT NULL,
`pa_telefono` varchar(45) DEFAULT NULL,
`pa_celular` varchar(45) DEFAULT NULL,
`pa_fec_nac` date DEFAULT NULL,
`pa_correo` varchar(45) DEFAULT NULL,
PRIMARY KEY (`uro_id_paciente`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;
Y si se puede aprovechando como insertar nadamas en la tabla destino solo el nombre y el id del paciente.
Gracias