Maison > base de données > tutoriel mysql > Comment puis-je supprimer une colonne d'une table SQLite ?

Comment puis-je supprimer une colonne d'une table SQLite ?

Susan Sarandon
Libérer: 2025-01-11 22:51:43
original
1014 Les gens l'ont consulté

How Can I Drop a Column from a SQLite Table?

Modifier la table SQLite : supprimer la colonne

Question :

Essayez de supprimer une colonne d'une table de base de données SQLite à l'aide de la requête suivante :

ALTER TABLE table_name DROP COLUMN column_name;
Copier après la connexion

Cependant, il n’y a pas eu de succès. Quelle est la solution ?

Réponse :

Dans les versions antérieures à SQLite 3.35.0 (2021-03-12), la suppression directe de colonnes n'est pas prise en charge. Pour effectuer de tels changements, une approche plus sophistiquée est nécessaire :

  1. Créer une table temporaire : Copiez toutes les données pertinentes (par exemple les colonnes "a" et "b") dans la table temporaire :
CREATE TEMPORARY TABLE t1_backup (a, b);
INSERT INTO t1_backup SELECT a, b FROM t1;
Copier après la connexion
  1. Supprimer le tableau d'origine : Supprimer le tableau avec les colonnes inutiles :
DROP TABLE t1;
Copier après la connexion
  1. Recréez le tableau d'origine : Définissez un nouveau tableau qui ne contient pas les colonnes supprimées :
CREATE TABLE t1 (a, b);
Copier après la connexion
  1. Transférer les données : Insérer les données de la table temporaire dans la table nouvellement créée :
INSERT INTO t1 SELECT a, b FROM t1_backup;
Copier après la connexion
  1. Supprimer la table temporaire : Nettoyer en supprimant la table temporaire :
DROP TABLE t1_backup;
Copier après la connexion
  1. Valider les modifications : Rendre les modifications permanentes :
COMMIT;
Copier après la connexion

Mise à jour :

SQLite 3.35.0 et versions ultérieures prennent désormais directement en charge la clause DROP COLUMN, ce qui facilite la suppression de colonnes des tables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal