Portál AbcLinuxu, 8. května 2025 11:36
IF NOT EXISTS (SELECT * FROM `information_schema`.`COLUMNS` WHERE `TABLE_SCHEMA` = 'databaze' AND `TABLE_NAME` = 'tabulka' AND `COLUMN_NAME` = 'pokus' ) THEN ALTER TABLE `databaze`.`tabulka` ADD pokus INT(10) NOT NULL DEFAULT '0'; END IF;Pokud zkusím SELECT nebo ALTER TABLE zvlášť, tak se příkaz provede, ale netuším jak udělat, aby se přidal pouze pokud sloupec neexistuje. MySQL 5.6.30-1~bpo8+1 - (Debian) Předem děkuji za rady.
use databaze; select count(*) into @exist from information_schema.columns where table_schema='databaze' and table_name='tabulka' and column_name='pokus'; set @query = IF(@exist <= 0, 'alter table tabulka add column pokus int(10) not null', 'select \'sloupec existuje\' as status'); prepare statement from @query; execute statement;Samozrejme to, co pise Kufner je docela rozumny...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.