相关疑难解决方法(0)

如何在create database语句中使用变量

我有这个程序:

DELIMITER //

create DEFINER = 'root'@'localhost' procedure create_db(name TEXT) 
BEGIN
DECLARE temp TEXT;
DECLARE user TEXT;
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = name INTO temp;
  if temp = name then
      SIGNAL SQLSTATE '45002' SET MESSAGE_TEXT = 'This database already exist';
  else
      SELECT USER() INTO user;
      create database name;
      grant all privileges on name.* to user with grant option;
  END IF;
END //

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

它工作得很好只是它提供字面意思"名称"而不是变量名称的值.我如何告诉它名称是变量?像PHP中的$ name那样的东西.我浏览了很多文档,但它们都使用没有前缀的变量.

mysql

4
推荐指数
1
解决办法
3452
查看次数

标签 统计

mysql ×1