2016-12-17 20 views
0

的最後一行之後數據我有一個SQL語句的問題。我有一個按鈕,一個Java應用程序添加一列到數據庫中。對於每一個新的日期,我創建了一個新列,這是使用下面的查詢SQL插入到新創建的列,放置上一列

final String queryCreate = "alter table Currency add '"+ newColumn + "' decimal "; 

做當我嘗試填充使用下面的查詢數據的列:

final String queryAdd = "insert into Currency('" + newColumn + "') values(1.95583)"; 

的數據是添加到上一列最後一行的下方。 是這樣的: https://postimg.org/image/579gjmyzj/

我的問題是爲什麼插入語句做它在我的情況下做什麼,我做錯了什麼?

+0

什麼是你想用你的代碼完全實現? – Aaron

回答

1

INSERT創造了新的記錄,如果要修改就需要使用UPDATE現有記錄。

例如,修改第一記錄:

"UPDATE Currency SET " + newColumn + " = 1.95583 WHERE Currency_ID = 1" 
+0

SQL查詢應該如下所示:final String queryAdd =「UPDATE Currency SET」+「'」+ newColumn +「'」+「= 1.95583 WHERE Currency_ID = 1」; 。 – floorpan

0

使用更新查詢 假設strCurrencyID = 「1」; strCurrencyName = 「EUR」;

最後絃樂queryAddUpdate =

是否存在 開始更新貨幣設定 「+ newColumn + 」= 1.95583其中Currency_ID =「 + strCurrencyID + 」(從貨幣,其中Currency_ID =「 + strCurrencyID +」 選擇頂部1 1) 結束 否則 開始 INSERT INTO貨幣(Currency_id,CURRENCY_NAME, ' 「+ newColumn +」')的值( 「+ strCurrencyID +」,' 「+ strCurrencyName +」,1.95583) 結束」

這將更新如果不存在貨幣ID,則在列中的值將插入ne w行。

但我認爲數據庫設計應該改變,你可以解釋你的業務需求。