Estoy usando MySQL. Tengo una tabla llamada EMP, y ahora necesito crear una tabla más (EMP_TWO) con el mismo esquema, las mismas columnas y las mismas restricciones. ¿Cómo puedo hacer esto?
Estoy usando MySQL. Tengo una tabla llamada EMP, y ahora necesito crear una tabla más (EMP_TWO) con el mismo esquema, las mismas columnas y las mismas restricciones. ¿Cómo puedo hacer esto?
Respuestas:
Para crear una nueva tabla basada en otra estructura de tablas / restricciones, use:
CREATE TABLE new_table LIKE old_table;
Para copiar los datos, si es necesario, utilice
INSERT INTO new_table SELECT * FROM old_table;
Tenga cuidado con las notas sobre la opción LIKE:
Utilice LIKE para crear una tabla vacía basada en la definición de otra tabla, incluidos los atributos de columna y los índices definidos en la tabla original:
CREAR TABLA new_table LIKE original_table; La copia se crea utilizando la misma versión del formato de almacenamiento de la tabla que la tabla original. Se requiere el privilegio SELECT en la tabla original.
LIKE funciona solo para tablas base, no para vistas.
CREATE TABLE ... LIKE no conserva ninguna opción de tabla DATA DIRECTORY o INDEX DIRECTORY que se especificaron para la tabla original, ni ninguna definición de clave externa.
LIKE
en una CREATE
declaración.
CREATE TABLE new_db.new_table LIKE old_db.old_table
:)
¿Por qué no vas así?
CREATE TABLE new_table LIKE Select * from Old_Table;
o puedes filtrar datos como este
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
Para tener la misma restricción en su nueva tabla, primero tendrá que crear un esquema, luego debe buscar datos para la creación del esquema
CREATE TABLE new_table LIKE Some_other_Table;
like
y select *
en una declaración? estoy recibiendo un error. También verifique esta respuesta stackoverflow.com/questions/10147565/create-table-like-a1-as-a2