首页 > 解决方案 > 如何在 azure databricks 中重命名数据库?

问题描述

我正在尝试重命名 azure databricks 中的数据库,但出现以下错误:

在输入“ALTER DATABASE 库存”时没有可行的替代方案

下面是代码:

%sql 
use inventory;
ALTER DATABASE inventory MODIFY NAME = new_inventory;

请解释这个错误“在输入 'ALTER DATABASE 库存时没有可行的替代方案”是什么意思,我该如何解决它

标签: apache-spark-sqldatabricksazure-databricks

解决方案


无法在 Databricks 上重命名数据库。如果你去文档,那么你会看到你只能设置DBPROPERTIES

如果你真的需要重命名数据库,那么你有两个选择:

  • 如果您有非托管表(不是通过saveAsTable等创建的),那么您可以使用SHOW CREATE TABLE生成 SQL ,删除您的数据库(无论如何要小心),然后从保存的 SQL 重新创建所有表
  • 如果您有托管表,那么解决方案是创建新数据库,然后使用CLONE(仅适用于 Delta 表)或CREATE TABLE ... AS SELECT其他文件类型,然后删除您的数据库

推荐阅读