Cita: podran darse cuenta q la tabla NOVEDAD contiene algunos campos con el mismo nombre de la tabla RSUBSIDIADO
nota: el campo CODIGO necesito crearlo autonumerico, el campo CODNOVEDAD debera llevar el registro 'N15'.
Le agradezco la atencion prestada y requiero de su ayuda urgente.
yo tengo la sgte consulta pero me generar un error q limite de memoria.
Tienes al menos cuatro cosas a considerar:
1)
No se puede crear un campo auto_increment usando una creación dinámica de la tabla (CREATE TABLE XXX AS SELECT ...). Los campos autoincrementales no se heredan, como tampoco se heredan
índices, FK ni
PK.
2) Usar un JOIN directo (la coma es su sinónimo) sobre dos tablas con iguales nombres de campo es riesgoso,
si ambas tablas no tienen exactamente el mismo tipo de dato en las mismas columnas. El MySQL tratará de relacionar los campos con el mismo nombre, haciendo conversiones implícitas, con campos que pueden tener datos diferentes.
3) Un JOIN directo genera un
producto cartesiano, lo que significa que si lo haces con
dos tablas de 10.000 registros, obtendrás
100.000.000 de registros en la nueva tabla, y si además cada registro tuviese 250 bytes de largo, la descarga será de de alrededor de 25 Gb.
4) La creación de una tabla dinámicamente
tampoco conserva correctamente los campos, ya que en MySQL, si un campo originalmente VARCHAR(500) no contiene datos en la consulta, el mismo se reducirá a VARCHAR(1), o a la longitud del texto contenido en el registro que tenga el texto más largo. Además, ciertos campos pueden perderse, como es el caso de los DECIMAL, si no hay datos decimales en el resultado de la consulta, quedando como enteros.
En síntesis: Te conviene crear la tabla manualmente, copiando el CREATE TABLE de las tablas implicadas.