Vérification de l'existence d'une colonne dans les tables MySQL
Vérifier l'existence d'une colonne dans une table MySQL est crucial pour la gestion des bases de données et les opérations sur les données. Cependant, contrairement aux bases de données d'entreprise, MySQL nécessite une approche spécifique pour cette tâche.
Considérez la requête suivante :
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update') BEGIN ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL; UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`; END;
Bien qu'intuitive, cette requête échoue dans MySQL. Pour résoudre ce problème, une approche plus simple est recommandée :
SHOW COLUMNS FROM `table` LIKE 'fieldname';
Implémentation PHP
En utilisant PHP, vous pouvez exécuter la requête comme suit :
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result))?TRUE:FALSE;
Explication
La commande SHOW COLUMNS fournit des informations sur des colonnes dans un tableau. En utilisant l'opérateur LIKE, vous pouvez filtrer les résultats pour inclure uniquement les colonnes portant un nom correspondant. Si la requête renvoie au moins une ligne, cela indique que la colonne existe ; sinon, ce n'est pas le cas.
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!