如果表上存在列,我想添加列。但是我的代码不起作用我收到错误消息是;
[Err] 1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 11 行的“ColumnType DEFAULT (CASE DefaultValue WHEN NULL THEN SELECT 'NULL'' 附近使用正确的语法”
我的代码 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;
;