Ten kod przeszedł kilka testów sprawdzania poprawności online. Nie wiem, co jest nie tak. Po funkcji CONCAT
jest napisane, że potrzebuję średnika, chociaż już tam jest. I na end
mówi, że jest to wejście dodatkowe, gdy oczekuje końca instrukcji. Co daje?Dlaczego MySQL Workbench mówi mi, że potrzebuję średnika
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;
używacie phpMyAdmin ustawić tę procedurę przechowywaną? – Alex
Nie, działam w środowisku MySQL Workbench, bezpośrednio w oknie zapytania. – Indigenuity
czy próbowałeś mojej odpowiedzi? – Alex