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

Bidang ID Tabel Kenaikan dengan Penghitungan Bitwise

Untuk mengatasi semua masalah di atas, saya dapat membuat yang berikut ini yang berfungsi dengan baik!

DELIMITER $$
CREATE TRIGGER testbitcompatid BEFORE INSERT ON Table
    FOR EACH ROW 
    BEGIN
        SET @LAST_ROW = (SELECT MAX(id) FROM Table);
        SET NEW.id = CASE WHEN @LAST_ROW IS NULL THEN 1 ELSE @LAST_ROW * 2 END;

    END;
$$
DELIMITER ;

Cukup banyak, kami mengambil id tertinggi , ambil log(2) dari itu yang memberi kita AUTO_INCREMENT yang sesuai id . Kami kemudian menambahkan 1 , dan aktifkan hingga 2 .

Saya harap ini membantu mencegah beberapa sakit kepala di jalan untuk orang lain.




  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 memberikan kesalahan membaca ECONNRESET setelah waktu idle di server node.js

  2. Bagaimana cara menggunakan indeks secara efisien dalam kueri mysql

  3. SQLSTATE[22007]:Format waktu-tanggal tidak valid:1292 Nilai waktu-tanggal salah:'30-03-2008 02:56:12'

  4. Docker mysql tidak dapat terhubung ke wadah

  5. MySQL menonaktifkan &mengaktifkan kunci