Bon j'ai cherché partout, mais je trouve pas comment retirer une contrainte unique avec une requête SQL sur une table.
Je suis sur MySQL 4.1
Bon j'ai cherché partout, mais je trouve pas comment retirer une contrainte unique avec une requête SQL sur une table.
Je suis sur MySQL 4.1
Bonjour,
à vue de nez, je dirais que si la contrainte a été créée de cette manière
la suppression doit se faire de cette manière
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE `mabase`.`matable` ADD CONSTRAINT `marelation` FOREIGN KEY (`cleunik`) REFERENCES `_toto` (`cleunik`) ON DELETE CASCADE ON UPDATE CASCADE;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE `mabase`.`matable` DROP FOREIGN KEY `marelation`;
Ouais mais si on ne sait pas comment la contrainte a été créée?
Comment retrouver son nom ?
Moi je ne vois que ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Field: customer_id Type: varchar(64) Null: Key: UNI Default: Extra:
Unne suffit pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part show create table 'matable';
Merci de prendre le temps de me répondre.
Alors, si effectivement ça me permet d'avoir le nom, merci je ne connaissais pas, en revanche même avec le nom il me fait une erreur de syntaxe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE matable DROP UNIQUE KEY 'customer_id_1';![]()
Quelle est l'erreur de syntaxe ?
Attention toutefois, la requête ci-dessus ne supprime pas une clé étrangère mais une clé unique, ce qui n'est pas du tout la même chose !!!
C'était ma question à la base, retirer une clé unique, non pas une FK.
L'erreur est:
ERREUR 1064 (42000) : Erreur de syntaxe près de 'UNIQUE KEY 'customer_id_1';'
Haaa....
j'avais luJe pensais que l'on parlait d'une contrainte pas d'un index (unique ou pas)...comment retirer une contrainte unique...
Donc ceci devrait être plus approprié
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE `matable` DROP INDEX `monindex`;
Partager