2 votes

Comment ajouter une colonne à incrémentation automatique à une table mysql de type Storage Engine csv ?

J'ai créé une table MySQL qui est stockée dans le moteur de stockage CSV. Je veux créer une colonne à incrémentation automatique, mais elle n'est pas compatible avec les tables CSV.

Existe-t-il un moyen de créer une colonne à incrémentation automatique en utilisant des triggers ?

1voto

Bill Karwin Points 204877

Le moteur de stockage CSV ne prend pas non plus en charge les index, ce qui entraînerait des performances incroyablement mauvaises si vous vouliez écrire un déclencheur pour calculer l'identifiant suivant en fonction des critères suivants SELECT MAX(id)+1... parce que chaque insertion de ligne provoquerait un balayage de la table.

Si vous avez besoin d'une colonne à incrémentation automatique, vous devez convertir la table en InnoDB tout en ajoutant la colonne à incrémentation automatique.

ALTER TABLE MyTable 
  ADD COLUMN id BIGINT AUTO_INCREMENT PRIMARY KEY FIRST, 
  ENGINE=InnoDB;

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