Mysql
 sql >> база данни >  >> RDS >> Mysql

Java JDBC - вмъкване на запис в базата данни само ако не съществува

ResultSet rs =pStmnt.executeQuery() ще върне набор от резултати, който никога няма да бъде нулев, докато няма изключение, ако искате да проверите дали записите са там, можете да използвате метода rs.next() и проверете дали има някакви записи там или не в набор от резултати

 public boolean createRecord(Myuser myuser) 
    {
        Connection cnnct = null;
        PreparedStatement pStmnt = null;
        try
        {
            cnnct = getConnection();
            String preQueryStatement
            = "SELECT * FROM MYUSER WHERE MYUSER.USERID = ?;";
            pStmnt = cnnct.prepareStatement(preQueryStatement);
            pStmnt.setLong(1,youruserid);
            ResultSet rs = pStmnt.executeQuery();
            if (!rs.next())
            {
                String insertStatement
                = "INSERT INTO MYUSER VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
                PreparedStatement ps = cnnct.prepareStatement(insertStatement);

                ps.setString(1, myuser.getUserid());
                ps.setString(2, myuser.getName());
                ps.setString(3, myuser.getPassword());
                ps.setString(4, myuser.getEmail());
                ps.setString(5, myuser.getPhone());
                ps.setString(6, myuser.getAddress());
                ps.setString(7, myuser.getSecQn());
                ps.setString(8, myuser.getSecAns());

                System.out.println("new user inserted");
                return true;
            } 
            else
            {
                System.out.println("user already in data base");
                return false;
            }

        } 

        catch (SQLException ex) 
        {
            while (ex != null) 
            {
                ex.printStackTrace();
                ex = ex.getNextException();
            }
        } 

        catch (IOException ex) 
        {
            ex.printStackTrace();
        }

        finally 
        {
            if (pStmnt != null) 
            {
                try 
                {

                    pStmnt.close();
                } 
                catch (SQLException e)
                {

                }
            }

            if (cnnct!= null) 
            {

                try 
                {
                    cnnct.close();

                } 
                catch (SQLException sqlEx) 
                {

                }
            }
        }
    }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първичният ключ за автоматично увеличаване на MySQL се увеличава с 10

  2. Как да избягам % от python mysql заявка

  3. Как да коригирате ГРЕШКА 1130 (HY000):На хоста не е разрешено да се свърже с този MySQL сървър

  4. Sql:Транспониране на редове в колони

  5. com.mysql.jdbc.MysqlDataTruncation:Съкращаване на данни:Данните са твърде дълги за колона 'column_name'