Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Sisipkan menggunakan PreparatStatement. Bagaimana cara menambah ID secara otomatis?

Biarkan kolom keluar dari INSERT pernyataan sepenuhnya . Ini akan dihasilkan oleh mesin database. Kueri Anda seharusnya:

INSERT INTO employee (time, name)
VALUES (?, ?)

Kedua, Anda harus melakukan penyisipan terlebih dahulu, lalu mengeluarkan kunci dari hasilnya.

Saya yakin kode Anda seharusnya:

PreparedStatement preparedStatement = 
    connect.prepareStatement("INSERT into employee (time, name) VALUES (?,?)", 
    Statement.RETURN_GENERATED_KEYS);

preparedStatement.setTimestamp(1, 
    new java.sql.Timestamp(new java.util.Date().getTime()));                           
preparedStatement.setString(2, "Test");

preparedStatement.executeUpdate();

ResultSet tableKeys = preparedStatement.getGeneratedKeys();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);

Perhatikan bahwa contoh ini tidak memeriksa keberhasilan pernyataan yang dieksekusi atau keberadaan kunci yang dikembalikan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengutip nilai menggunakan group_concat

  2. hapus baris duplikat berdasarkan nilai satu kolom

  3. Kesalahan:tidak dapat menginisialisasi struktur info master saat melakukan Replikasi Budak Master di MySQL

  4. Hasil database sebagai objek atau array?

  5. Nginx - Mengunduh PHP alih-alih mengeksekusi