【问题标题】:On error use information_schema in MySql function在 MySql 函数中错误使用 information_schema
【发布时间】:2017-03-25 07:15:29
【问题描述】:

你能告诉我这个 MySQL 函数有什么问题吗?

我点击链接How can I “select *” from a table in MySQL but omit certain columns?在 MySQL 中定义了一个函数。但我收到一个错误“未选择数据库”。

DELIMITER $$
CREATE FUNCTION getTableColumns(_schemaName varchar(100), _tableName varchar(100), _omitColumns varchar(200)) RETURNS varchar(5000)
BEGIN
    SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '_omitColumns,', '')
    FROM information_schema.columns 
    WHERE table_schema = _schemaName AND table_name = _tableName
    INTO results;
    RETURN results;
END$$

Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.

【问题讨论】:

    标签: mysql


    【解决方案1】:

    只需添加数据库名称和函数名称

    your_database_name.getTableColumns(......
    

    【讨论】:

    • 你是对的!谢谢!是否可以跨数据库拥有全局功能?
    • 没有函数总是在某个数据库下,但是如果你想使用共享函数,你可以使用 [comman schema] (dba.stackexchange.com/questions/50678/…)
    猜你喜欢
    • 2021-01-20
    • 2011-03-27
    • 2017-09-05
    • 2012-02-29
    • 2021-01-19
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多