Как получить автоматически увеличенное значение столбца при вставке строки в таблицу в MySQL, используя Java? - PullRequest
1 голос
/ 16 марта 2011

Как я могу вставить в table1 как: INSERT INTO table1 (description) VALUES ('Some test description here'); и заставить его вернуть автоматически увеличенный идентификатор, чтобы я мог вставить строку в table2?Описание не гарантируется быть уникальным.Я использую Java PreparedStatement, чтобы вставить значение в настоящее время с execute()

.

Ответы [ 2 ]

3 голосов
/ 16 марта 2011

Попробуйте это:

PreparedStatement st = con.prepareStatement(
                    "Insert into table1 (name) values ('test desc')",
                    Statement.RETURN_GENERATED_KEYS);

            st.executeUpdate();

            ResultSet rs = st.getGeneratedKeys();
            if(rs.next())
            {
                int data = rs.getRow(); 
                int id = rs.getInt(1);
            }

Обратите внимание на значения данных и идентификатора.

Вам не нужно запускать и выбирать запросы отдельно.

3 голосов
/ 16 марта 2011

выполнить этот запрос сразу после успешного завершения вставки: SELECT LAST_INSERT_ID()

...