如果列存在于表中,我想添加列。但我的代码没有工作我得到错误错误信息是;
[Err] 1064 - 您的SQL语法有错误;检查手册 对应于您的MariaDB服务器版本以获得正确的语法 使用靠近' ColumnType DEFAULT(CASE DefaultValue WHEN NULL THEN SELECT' NULL' '在第11行
我的代码MySql代码块
CREATE DEFINER = CURRENT_USER FUNCTION `AddTableColumn` (
TableName VARCHAR (500),
ColumnName VARCHAR (500),
IsPrimary TINYINT (4),
IsNull TINYINT (4),
DefaultValue VARCHAR (500),
ColumnType VARCHAR (500)
) RETURNS INTEGER
BEGIN
ALTER TABLE TableName ADD COLUMN
IF NOT EXISTS ColumnName ColumnType DEFAULT (
CASE DefaultValue
WHEN NULL THEN
SELECT
'NULL'
ELSE
SELECT
DefaultValue
END
)(
CASE IsNull
WHEN 1 THEN
(SELECT 'IS NULL')
ELSE
SELECT
('IS NOT NULL')
END
)(
CASE IsPrimary
WHEN 1 THEN
(SELECT 'PRIMARY KEY')
ELSE
SELECT
''
END
) RETURN 0;
END;
;