Mysql插入带功能的列

时间:2017-03-29 09:18:11

标签: mysql sql mysql-function

如果列存在于表中,我想添加列。但我的代码没有工作我得到错误错误信息是;

  

[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;

;

0 个答案:

没有答案