Questo codice ha superato diversi test di convalida online. Non so cosa c'è che non va. Dopo la funzione CONCAT
, dice che ho bisogno di un punto e virgola, anche se ce n'è già uno. E sul end
dice che è un input estraneo quando si aspetta una fine dell'istruzione. Cosa dà?Perché MySQL Workbench mi dice che ho bisogno di un punto e virgola
create procedure AddColumnUnlessExists(
IN dbName tinytext,
IN tableName tinytext,
IN fieldName tinytext,
IN fieldDef text)
begin
IF NOT EXISTS (
SELECT * FROM information_schema.COLUMNS
WHERE column_name=fieldName
and table_name=tableName
and table_schema=dbName
)
THEN
set @ddl = CONCAT('ALTER TABLE ', dbName, '.', tableName, ' ADD COLUMN ', fieldName, ' ', fieldDef);
prepare stmt from @ddl;
execute stmt;
END IF;
end;
si usa phpMyAdmin per impostare questa stored procedure? – Alex
No, sto lavorando in MySQL Workbench, direttamente in una finestra di query. – Indigenuity
hai provato la mia risposta? – Alex