53 - Agregar y eliminar la clave primaria (alter table) |
Trabajamos con la tabla "libros" de una librería.
Eliminamos la tabla si existe.
Creamos la tabla "libros" con la siguiente estructura:
create table libros( codigo int unsigned, titulo varchar(40) not null, autor varchar(30), editorial varchar (20), precio decimal(5,2) unsigned, cantidad smallint unsigned );
Para establecer el campo "codigo" como clave primaria usamos:
alter table libros add primary key (codigo);
Visualicemos la estructura de la tabla:
describe libros;
Ahora el campo "codigo" es clave primaria.
Si intentamos agregar otra clave primaria, aparecerá un mensaje de error porque (recuerde) una tabla solamente puede tener una clave primaria:
alter table libros add primary key (titulo);
Si queremos que el campo clave sea "auto_increment" debemos modificarlo con:
alter table libros modify codigo int unsigned auto_increment;
Si intentamos eliminar la clave primaria:
alter table libros drop primary key;
la sentencia no se ejecuta porque si existe un campo con este atributo DEBE ser clave primaria.
Primero debemos modificar el campo quitándole dicho atributo:
alter table libros modify codigo int unsigned;
Ahora si podemos eliminar la clave primaria:
alter table libros drop primary key;
Si visualizamos la estructura de la tabla:
describe libros;
vemos que la tabla ya no tiene clave primaria.