Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java在SQL数据库中插入命令时出错_Java_Sql - Fatal编程技术网

使用java在SQL数据库中插入命令时出错

使用java在SQL数据库中插入命令时出错,java,sql,Java,Sql,我需要每天更新sql数据库,以了解点击印象和转换列中的更改。我为每一列创建了一个数组。此语句中有一个错误。我也找不到错误。请帮忙 for(int j=1;j<row;j++){ pst= conn.prepareStatement("INSERT INTO babum_test.l2ttracker SET Clientid='"+Customer_ID[j]+"',Accountname='"+Account[j]"',Dates='"Day[j]"',Clicks='"Clicks[j

我需要每天更新sql数据库,以了解点击印象和转换列中的更改。我为每一列创建了一个数组。此语句中有一个错误。我也找不到错误。请帮忙

for(int j=1;j<row;j++){
pst= conn.prepareStatement("INSERT INTO babum_test.l2ttracker SET Clientid='"+Customer_ID[j]+"',Accountname='"+Account[j]"',Dates='"Day[j]"',Clicks='"Clicks[j]"',Impressions='"Impressions[j]"',CTR='"CTR[j]"',Avg_CPC='"Avg_CPC[j]"',Cost='"Costs[j]"',Conversions='"Conversions[j]"',Converted_clicks='"Converted_clicks[j]"',Avg_position='"Avg_position[j]"',Revenue='"Total_Conv_value[j]+"' ON DUPLICATE KEY UPDATE'"+ "'Clicks='"+Clicks[j]"',Impressions='"Impressions[j]"',CTR='"CTR[j]"',Avg_CPC='"Avg_CPC[j]"',Cost='"Costs[j]"',Conversions='"Conversions[j]"',Avg_position='"Avg_position[j]"',Converted_clicks='"Converted_clicks[j]"',Revenue='"Total_Conv_value[j]);
}

for(int j=1;j有三个主要问题:

  • 你没有在应该使用引号的地方使用引号

  • 我不知道有哪个数据库使用
    INSERT…SET
    语句

  • 您将使自己极易受到SQL注入攻击

  • 强制性漫画re#3:

    相反:

    pst = conn.prepareStatement(
        "INSERT INTO sampletable " +
        "(FirstColumn SecondColumn, Etc) " +
        "VALUES " +
        "(?, ?, ?)"
    );
    pst.setString(1, "value for first column");
    pst.setInt(2, 42);
    pst.setDate(3, /*...some date...*/);
    pst.execute();
    
    问号是预留语句将在其中放置值的占位符。即使参数是字符串,也不要在问号周围加引号;这是在后台处理的,也是使用预留语句的部分原因。请注意,参数编号从1开始,而不是从0开始


    阅读SQL语法以及如何正确使用准备好的语句;可能很有用。

    1/quotes 2/SQL injection 3/误用。请继续阅读,我们可以在INSERT语句中使用SET关键字吗?我从未使用过,SET用于UPDATE语句,INSERT语句中有一个VALUES关键字。除了误用准备好的语句外,dbms是什么您正在使用,出现了什么错误?看起来您正在使用语法
    INSERT-INTO-table SET column=value
    ,IIRC完全错误。他们已经用R语言开发了此代码。现在我需要将其转换为Java以批处理文件的形式运行。在R语言中,他们使用了此SQL命令。SQL命令对于所有lan都是通用的guages。所以我在这里用它来插入和更新Kay。对于插入,我知道这个命令。实际上,表有两列作为主键。现在我需要覆盖主键行中显示的数据。这是怎么可能的。例如:数据假设为dane,223-456-4211,11/2/2015,35,45,2345在此语句中,第2列和第3列的值是主键。剩余的25,352345个值将每天更改。我需要使用program@abhilash.r:您可以使用
    UPDATE
    语句执行此操作。请阅读SQL。