I try to make procedure that create non-exists column in my MySQL table like here: MySQL add column if not exist
My procedure:
DELIMITER $$
CREATE PROCEDURE Alter_Table(IN _table_name TEXT,IN _column_name TEXT,IN _column_type TEXT)
BEGIN
DECLARE _count INT;
SET _count = ( SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = _table_name AND
COLUMN_NAME = _column_name);
IF _count = 0 THEN
ALTER TABLE _table_name ADD COLUMN _column_name _column_type;
END IF;
END $$
DELIMITER ;
But I have an error:
#1064 - Something is wrong in your syntax obok '_column_type; END IF; END' w linii 9
Anyone know why?
Ok... I make it in PHP...
function alter_table($table_name, $column_name, $column_type) {
$result = mysql_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = `$table_name` AND COLUMN_NAME = `$column_name`");
if(!$result) {
mysql_query("ALTER TABLE `$table_name`
ADD COLUMN `$column_name` $column_type");
}
}