2 votes

Renommer la contrainte de clé primaire sur MySQL

Je pense qu'il s'agit peut-être d'un bug de MySQL, mais je n'en suis pas sûr. Quelqu'un peut-il me dire comment créer une clé primaire pour une table et ensuite renommer la contrainte primaire ? Si possible, créez déjà la clé primaire lors de la création de la table avec le nom souhaité.

Toutes les clés primaires que je crée se retrouvent avec le nom "Primary". J'ai déjà essayé de créer un index avec le nom souhaité avant d'ajouter la clé primaire, et de renommer la clé primaire à l'aide de MySQL Workbench. Aucune de ces tentatives n'a fonctionné.

Quelqu'un a-t-il une idée de ce qui ne va pas et pourquoi je ne peux pas renommer le nom du PK ?

Gracias.

6voto

Álvaro G. Vicario Points 57607

Je ne suis pas sûr que MySQL permette de donner des noms aux clés primaires en premier lieu. Bien qu'il semble y avoir une syntaxe pour cela :

CREATE TABLE test (
    test_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    CONSTRAINT my_test_pk PRIMARY KEY (test_id)
)
ENGINE=InnoDB;

... il ne s'affiche pas dans information_schema.TABLE_CONSTRAINTS ou tout autre endroit que je pourrais repérer, j'ai donc l'impression qu'il est simplement jeté en silence.

Le nom que vous voyez est probablement un nom codé en dur que votre client GUI donne à toutes les clés primaires.

Edit : Voici une citation de le manuel :

Le nom d'un PRIMARY KEY est toujours PRIMARY qui ne peut donc pas être utilisé comme nom pour tout autre type d'indice.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X