【问题标题】:How to use the name of the current database to delete it?如何使用当前数据库的名称来删除它?
【发布时间】:2020-04-10 13:13:39
【问题描述】:

我尝试将返回当前数据库名称的“DATABASE()”分配给变量“@mydb”,并使用它来删除该数据库。

SET @mydb = DATABASE();
DROP DATABASE @mydb;

我收到了这个错误ER_PARSE_ERROR near @mydb

【问题讨论】:

标签: mysql sql database mariadb


【解决方案1】:

正如 P.Salmon 所说,您必须使用 Prepared Statements

SET @mydb = DATABASE();
SET @sql = CONCAT('DROP DATABASE ', @mydb);
PREPARE stmt1 FROM  @sql;
EXECUTE stmt1;

【讨论】:

  • 这必须在存储过程中。在执行EXECUTE 之前,您可能需要执行use 才能退出目录。
猜你喜欢
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2011-11-20
  • 2018-08-15
  • 1970-01-01
  • 2012-04-23
  • 2013-01-15
  • 1970-01-01
相关资源
最近更新 更多