2016-03-10 26 views
0

我目前正在Postgresql中製作一個數據庫,並且遇到很多問題。它只會允許我同時在所有列中插入數據。如果我將數據插入某些列,然後嘗試在我得到這個錯誤在同一列的數據添加到另一列:Postgresql - 必須一次將所有值添加到表中?

ERROR: null value in column "name" violates not-null constraint 
DETAIL: Failing row contains (101, null, 23, 5, 65, 6, null, null). 

********** Error ********** 

ERROR: null value in column "name" violates not-null constraint 
SQL state: 23502 
Detail: Failing row contains (101, null, 23, 5, 65, 6, null, null). 

即使它說,那裏有我在人口稠密的名稱列空值該數據列。這非常令人沮喪!如果有人有任何想法可能會導致這一點,這將是非常有益的!

+0

您正在使用INSERT INTO語句更新現有記錄上的空字段,還是使用UPDATE

語句來更新它們? – JNevill

+0

正在使用插入到 – mustardtiger10

+0

INSERT INTO是創建一個新的記錄。但是一旦該記錄存在並且您希望更新現有記錄中的字段,則必須使用[UPDATE](http://www.postgresql.org/docs/current/static/sql-update.html)。它會看起來像'UPDATE

SET field1 ='somevalue',field2 ='somevalue'WHERE「name」='這個名字在你的記錄上更新'' – JNevill

回答

0

只要你對你的表有限制,你就會遇到類似的錯誤。
如果您需要連接到另一個表以檢索丟失的數據,請考慮使用INSERT INTO ___ SELECT ___語法。它將允許您在將數據插入目標表之前完全填充數據。

如果這不是一個選項,請爲沒有限制條件的新記錄創建一個臨時登臺表。在那裏插入記錄,更新它們,然後將它們插入到主表中。

+0

OP正試圖用'INSERT'語句更新現有記錄上的空字段。我相信OP是讓CRUD操作感到困惑。 – JNevill

相關問題