Lấy ID trả về khi insert (thêm) một dòng vào database

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách để lấy ID trả về khi insert một dòng vào database với một số hệ quản trị  cơ sở dữ liệu thườn dùng.

Một số hoạt động của cơ sở dữ liệu, đặc biệt là các mối quan hệ giữa parent-child (one-to-many), bạn có thể muốn thêm một bản ghi vào bảng cha trước, sau đó vào bảng con. Nhưng các bản ghi trong bảng con phải có khoá ngoại liên quan đến khoá chính của bảng cha. Trong trường hợp này, bạn cần một kỹ thuật lấy ra giá trị khoá chính của bản ghi cuối cùng được chèn vào (thường tự động tăng lên bởi công cụ cơ sở dữ liệu A_I). JDBC cung cấp cơ chế như vậy nhưng việc thực hiện hơi khác với các hệ thống cơ sở dữ liệu khác nhau.

Đối với cơ sở dữ liệu Derby MySQL trong Java, sử dụng mã sau:

Đối với cơ sở dữ liệu Oracle, sử dụng mã sau:

Lưu ý: đối với cơ sở dữ liệu Oracle, bạn nên tạo một chuỗi cho khoá chính của bảng.