我的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语句在我的情况下做了它的作用,我做错了什么?
答案 0 :(得分:1)
INSERT
的现有记录, UPDATE
会创建新记录。
例如,修改第一条记录:
"UPDATE Currency SET " + newColumn + " = 1.95583 WHERE Currency_ID = 1"
答案 1 :(得分:0)
使用更新查询 假设strCurrencyID =“1”; strCurrencyName = “EUR”;
final String queryAddUpdate =
如果存在(从Currency中选择Top 1 1,其中Currency_ID =“+ strCurrencyID +”) 开始更新货币集“+ newColumn +”= 1.95583其中Currency_ID =“+ strCurrencyID +” 结束 其他 开始 插入货币(Currency_id,Currency_name,'“+ newColumn +”')值(“+ strCurrencyID +”,'“+ strCurrencyName +”,1.95583) 端“
如果存在货币ID,这将更新列中的值,否则将插入新行。
但我认为数据库设计应该改变,你能否解释一下你的业务需求。