Drop Column et MySQL

Résolu/Fermé
sebinou86 - 24 févr. 2010 à 14:53
 sebinou86 - 26 févr. 2010 à 09:48
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.
A voir également:

3 réponses

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.
1
Désolé pour la deuxième table : c'est REFERENCES status et pas dtci_status.

Désolé. Mais sa marche toujours pas...
0
up ? :D
0