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

%的SQL將null值附加到一個SQL表

Kody_Devl
新的貢獻者二世

你好,

我是新磚和正在寫我的第一個程序。

注:代碼如下所示:

我創建一個表3列來存儲數據。2列將附加的數據我已經在另一個表。

當我運行附加查詢的空表2 3字段,我得到一個錯誤。我假設的表不允許null值的3 3列/字段。

這是錯誤信息:

”列Member_cnt沒有指定插入。”

如果我添加一些價值第三的位置,如“2”,添加查詢工作正常。

這是我的問題:

如何創建一個將接受3列的表格,從一個附加查詢,數據隻有2的表中的三個字段(第三個字段更新後)?

我的代碼:

MMR_Restated創建或替換表

(

Varchar (20),

YearMo長,

Member_cnt整數);

這是(3 of3)

插入MMR_Restated

(報價、YearMoMember_cnt)

選擇投標、YearMo22

從All_Bids_All_Periods;

這並不工作(2 of3)

插入MMR_Restated

(YearMo報價)

選擇投標,YearMo

從All_Bids_All_Periods;

非常感謝

Kody_Devl

3回複3

Hubert_Dudek1
尊敬的貢獻者三世

一切正常(雖然我不喜歡這種行為與插入選擇:winking_face:)

  • 您需要指定NULL值丟失所有字段:
創建或替換表MMR_Restated (Varchar (20), YearMo長,Member_cnt整數);插入MMR_Restated選擇“AAA”, 111年,零;
  • 一個技巧,我知道是為自動生成的列(表達式)所以它可以跳過(問題是約束當你插入一些不匹配表達式插入會失敗):
創建或替換表MMR_Restated (Varchar (20), YearMo長,Member_cnt整數總是生成(0));插入MMR_Restated(報價,YearMo)選擇“AAA”, 111;

Kody_Devl
新的貢獻者二世

你好休伯特,

你的回答讓我接近能夠更新的26場MMR_Restated表中部分是正確的字段值通過計算過程。我一直在尋找一種能夠更新在“塊”……2字段,然後4個,然後剩下的20場。

Varchar生成總是像(”)適用於字符串

我真正希望的是:

生成始終為空

當然,這並不工作。

任何想法嗎?

比你!

Hubert_Dudek1
尊敬的貢獻者三世

對生成的總是作為Null值錯誤,這就是為什麼iy並不奏效。我希望在未來它將改善。引發社會知道插入問題,onhttps: / /spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-into.html我們可以讀:

注意:當前的行為有一些限製:

  • 表中所有指定的列應該存在而不是互相複製。它包括所有列除靜態分區列。
  • 列列表的大小應該完全VALUESclause或查詢的數據的大小。

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

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

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

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

Baidu
map