Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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_Mysql_Prepared Statement - Fatal编程技术网

Java 我的Sql准备语句插入避免重复条目

Java 我的Sql准备语句插入避免重复条目,java,mysql,prepared-statement,Java,Mysql,Prepared Statement,我想在名为USERLOGIN的表中插入一些数据,并确保不会插入重复的数据。 我在java程序中编写了以下代码作为插入任务: String sql = "INSERT INTO USERLOGIN (" + "deleted," + "loginTime," + "userIpAddress," + "username)" + "VALUES(?,?,?,?)"+ "WHERE "+"? NOT IN (SELECT loginTime FROM USERLOGIN )"; 我想根据lo

我想在名为USERLOGIN的表中插入一些数据,并确保不会插入重复的数据。 我在java程序中编写了以下代码作为插入任务:

    String sql = "INSERT INTO USERLOGIN (" + "deleted," + "loginTime," + "userIpAddress," + "username)" + "VALUES(?,?,?,?)"+ "WHERE "+"? NOT IN (SELECT loginTime FROM USERLOGIN )";
我想根据loginTime属性检查重复条目

然而,当我运行我的代码时,我得到了这个错误:您的sql语法中有一个错误


你能帮我解决这个问题吗。我真的很感激。

使用此查询:-

String sql = "INSERT INTO USERLOGIN (deleted, loginTime, userIpAddress, username) " + "VALUES(?,?,?,?) " + "WHERE "+"? NOT IN (SELECT loginTime FROM USERLOGIN )";

我怀疑错误消息的内容不止这些!也许插入没有语法。。。哪里为什么不将数据库中不希望重复的字段标记为唯一字段?之后,只要代码试图插入非唯一的内容,即无法访问数据库,就可以捕获
SQLIntegrityConstraintViolationException
。它得到了其他人的支持。我应该写一个避免重复的代码,当一个条目应该被插入时,你能告诉我如何在插入中检查重复吗?我不想在表中设置唯一键,因为我无权访问databaseResultSet resultset=statement.executeQuery(“从tablename中选择*,其中col_name=“+cn+”);int-ct=0;while(resultset.next()){ct++;}if(ct>0){抛出新的SQLException(“重复信息
化学名称”+cn);else{String qry1=“插入到tablename(已删除,登录时间,userIpAddress,username)值(?,,,,,,,,,,,?)”;@Rana:您最好从注释中添加代码作为答案的一部分。