SQL插入到新创建的列中,数据放在上一列的最后一行之后

时间:2016-12-17 19:05:58

标签: java sql database sqlite

我的SQL语句有问题。我有一个带有按钮的java应用程序,可以将列添加到数据库中。对于每个新日期,我都创建了一个新列,使用以下查询

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

当我尝试使用以下查询使用数据填充列时:

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

数据添加在上一列的最后一行下方。 像这样: https://postimg.org/image/579gjmyzj/

我的问题是为什么insert语句在我的情况下做了它的作用,我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您要修改需要使用INSERT的现有记录,

UPDATE会创建新记录。

例如,修改第一条记录:

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

答案 1 :(得分:0)

使用更新查询 假设strCurrencyID =“1”; strCurrencyName = “EUR”;

final String queryAddUpdate =

如果存在(从Currency中选择T​​op 1 1,其中Currency_ID =“+ strCurrencyID +”) 开始更新货币集“+ newColumn +”= 1.95583其中Currency_ID =“+ strCurrencyID +” 结束 其他 开始       插入货币(Currency_id,Currency_name,'“+ newColumn +”')值(“+ strCurrencyID +”,'“+ strCurrencyName +”,1.95583) 端“

如果存在货币ID,这将更新列中的值,否则将插入新行。

但我认为数据库设计应该改变,你能否解释一下你的业务需求。