Drop Column et MySQL

Résolu
Bonjour,

Je rencontre actuellement une erreur avec MySQL. Voici le schéma de ma base :

CREATE TABLE IF NOT EXISTS status (
	`id_dtci_status` INTEGER(11) NOT NULL auto_increment,
	`status` VARCHAR(30) NOT NULL,
	CONSTRAINT PK_dtci_status
		PRIMARY KEY (`id_dtci_status`)
) TYPE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS servers (
	`id_dtci_servers` INTEGER(11) NOT NULL auto_increment,
	`machine_name` VARCHAR(30) NOT NULL,
	`dtci_status` INTEGER(11) NULL,
	CONSTRAINT PK_dtci_servers
		PRIMARY KEY (`id_dtci_servers`),
	CONSTRAINT FK_dtci_status_dtci_servers
		FOREIGN KEY (`dtci_status`)
		REFERENCES dtci_status(`id_dtci_status`)
			ON DELETE SET NULL
			ON UPDATE CASCADE
) TYPE=InnoDB DEFAULT CHARSET=utf8;


Je souhaite supprimer la colonne dtci_status de la table servers avec cette commande :

ALTER TABLE `servers`
	DROP COLUMN `dtci_status`;


Et MySQL me balance cette erreur :
#1025 - Erreur en renommant '[...]' en '[...]' (Errcode: 150)

Je ne comprend pas.

Merci d'avance.
Configuration: Windows XP / Firefox 3.5.8

3 réponses

  1. Désolé pour la deuxième table : c'est REFERENCES status et pas dtci_status.

    Désolé. Mais sa marche toujours pas...
    1. C'est bon, j'ai trouvé tout seul.

      Il faut d'abord supprimer la contrainte pour pouvoir supprimer une colonne. (Je pensais que sa le faisait automatiquement).

      ALTER TABLE `servers`
      	DROP FOREIGN KEY FK_dtci_status_dtci_servers,
      	DROP COLUMN dtci_status;
      


      Merci pour rien. ><

      PS : J'espère que sa en aidera d'autres.