Problème :
Vous souhaitez ajouter une colonne à une table MySQL existante sans écraser les données existantes, mais seulement si la colonne ne l'est pas déjà existe.
Solution :
Voici une méthode complète pour ajouter en toute sécurité une colonne à une table à l'aide d'une procédure stockée :
DELIMITER $$ DROP PROCEDURE IF EXISTS add_column_if_not_exists $$ CREATE PROCEDURE add_column_if_not_exists() BEGIN -- Add a column if it does not exist IF NOT EXISTS( (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND COLUMN_NAME='my_new_column' AND TABLE_NAME='my_table_name') ) THEN ALTER TABLE my_table_name ADD my_new_column varchar(255) NOT NULL DEFAULT ''; END IF; END $$ CALL add_column_if_not_exists() $$ DELIMITER ;
Cette solution aborde les facteurs suivants :
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!