ho questo codice:mysql ALTER TABLE se colonna non esiste
ALTER TABLE `settings`
ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1
e voglio modificare questa tabella solo se questa colonna doesnt esiste.
Sto cercando un sacco di differenti modi, ma non funziona niente:
ALTER TABLE `settings`
ADD COLUMN IF NOT EXISTS `multi_user` TINYINT(1) NOT NULL DEFAULT 1
Con procedura:
DELIMITER $$
CREATE PROCEDURE Alter_Table()
BEGIN
DECLARE _count INT;
SET _count = ( SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'settings' AND
COLUMN_NAME = 'multi_user');
IF _count = 0 THEN
ALTER TABLE `settings` ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1
END IF;
END $$
DELIMITER ;
ho ottenuto l'errore in END IF, poi nel END e poi in 1
Come posso rendere questo più semplice possibile?
possibile duplicato di [colonna di aggiunta di MySQL se non esiste] (http://stackoverflow.com/questions/14381895/mysql-add-column-if-not-exist) – Rikesh
possibile duplicato di [MySQL: Come aggiungere una colonna se non esiste già?] (http://stackoverflow.com/questions/3242080/mysql-how-to-add-a-column-if-it-doesnt -already-exist) –
Ho provato questa risposta! Ho degli errori – BrunoRamalho