取消
顯示的結果
而不是尋找
你的意思是:

刪除表如果存在不工作

martinch
新的貢獻者二世

當我嚐試運行該命令

火花。如果存在table_to_drop sql(“刪除表”)

和表不存在,我得到以下錯誤:

AnalysisException:“表或視圖的table_to_drop數據庫中沒有‘零’;;\ nDropTableCommand table_to_drop,真的,假的,假\ n”

命令工作表時確實存在。

我用Python3 Azure磚筆記本,磚5.2運行時的高並發性集群。

使用以下命令創建表:

df.write。選項(“路徑”,“誹謗聯盟:/ / * * *.azuredatalakestore.net/delta/table_to_drop”) .saveAsTable (name = " table_to_drop "格式=“δ”)

我想使用“如果存在”的目的是為了避免這個錯誤。這是一個錯誤,我還是不明白?

4回複4

夏娃
新的貢獻者三世

根據這個文檔,它是如何工作的……它將拋出一個錯誤,當表不存在:

磚文檔

很煩人但…

martinch
新的貢獻者二世

但這是沒有可選的“如果存在”。“如果存在”命令醫生表示:“如果表不存在,什麼也不會發生。”。

robert4os
新的貢獻者二世

這不是為SQL用戶預期的行為。

如。https://dev.mysql.com/doc/refman/8.0/en/drop-table.html……”

如果存在
nonexisting表,沒有發生錯誤。

這是一個可用性錯誤。

最好的祝福,羅伯特

StevenWilliams
新的貢獻者二世

我同意這是一個可用性的缺陷。文檔清楚地指出,如果提供了可選的標記“如果存在”,聲明將什麼也不做。

https://docs.m.eheci.com/spark/latest/spark-sql/language-manual/drop-table.html

刪除表複製

刪除表(如果存在)[db_name] table_name

刪除一個表和刪除相關的目錄表如果這不是一個從文件係統

外部

表。如果表不存在,下降就會拋出一個異常。

如果存在

如果表不存在,什麼也不會發生。

我得到與原文相同的錯誤而運行這個命令的SQL API

刪除表如果存在testTable;

我希望沒有錯誤,但得到以下。

錯誤的SQL語句:AnalysisException:表或視圖的testTable‘零’中沒有數據庫;;DropTableCommand

testTable

,真的,假的,假的

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map