如何用mysql表中的新条目覆盖旧条目?

时间:2016-03-23 10:04:19

标签: java mysql web-services sql-insert

我正在使用JSON开发一个web服务,插入g +用户的电子邮件(一旦用户选择通过谷歌登录登录我的应用程序)。 我不希望我的web服务将同一用户的多个条目输入到我的表中。 我想用新的电子邮件覆盖旧的电子邮件条目。 我该怎么办?

编辑1:     // setGplusEmail

public ArrayList<Status> setEmail(Connection con,String gplusMail) throws SQLException
{
    ArrayList<Status> gplusUserList = new ArrayList<Status>();
    //con.setAutoCommit(false);
    String sql = "INSERT INTO gpluslogin (gmail) VALUES ('"+gplusMail+"')";
    String sql1 = "INSERT INTO gpluslogin (gmail) VALUES ('"+gplusMail+"') ON DUPLICATE KEY UPDATE (gmail = '"+gplusMail+"')";


    PreparedStatement stmt = con.prepareStatement(sql);
    PreparedStatement stmt1 = con.prepareStatement(sql1);

    try{
        stmt.executeUpdate();
        stmt1.executeUpdate();
    }catch(Exception e){

    }


    Status s = new Status();
    s.setStatus("Successfully Inserted...");
    gplusUserList.add(s);

    return gplusUserList;
}

这是正确的执行方式吗?

2 个答案:

答案 0 :(得分:0)

在gmail列上创建唯一键后,您可以使用以下2 -

中的任何一个语句
REPLACE INTO gpluslogin (gmail) VALUES('abc@gmail.com');

OR

INSERT INTO gpluslogin (gmail) VALUES('abc@gmail.com') ON DUPLICATE KEY UPDATE gmail='abc@gmail.com';

答案 1 :(得分:0)

var timer=setTimeout(function(){increase();}, 8);