sql >> データベース >  >> RDS >> Mysql

最後に挿入されたIDを取得するJavaPreparedStatement

    Statement.RETURN_GENERATED_KEYSを渡します prepareStatement()で あなたの質問と一緒に。次に、PreparedStatementのgetGeneratedKeys()を使用します 挿入されたauto_incremented_idを含むResultSetを取得します。

    String query="Insert INTO Table_A(name, age) (?, ?)";
                    //String query="Insert INTO Table_A(name, age) ('abc','123' )";//Doesn't escape
                    PreparedStatement prest;
                    prest = con.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
                    prest.setString(1,"abc");
                    prest.setInt(2,123);
                    prest.executeUpdate();
                    //prest.executeUpdate(query, PreparedStatement.RETURN_GENERATED_KEYS); Throws an error
                    //prest.executeQuery(); Throws an error
                    ResultSet rs = prest.getGeneratedKeys();
                    if(rs.next())
                    {
                        int last_inserted_id = rs.getInt(1);
                    }
    


    1. MySQL CONCAT(string、longtext)は16進文字列になります

    2. AndroidのSQLiteでクエリ時間を記録する

    3. IPv4とは別のIPv6の正規表現(RegEx)

    4. DelphiをSalesforce.comに接続する