53 - Agregar y eliminar la clave primaria (alter table)


Problema:

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.




Retornar