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

Hentikan MySQL Menggunakan Kembali ID AUTO_INCREMENT

Dalam hal ini, Anda mungkin tidak boleh menggunakan indeks AUTO_INCREMENT di tempat yang dapat diakses publik.

Dapatkan bidang kunci dari data lain, atau gunakan mekanisme berbeda untuk membuat id Anda. Salah satu cara yang pernah saya gunakan sebelumnya, meskipun Anda perlu menyadari implikasi kinerja (yang berpotensi parah), adalah tabel "kunci" untuk melacak kunci yang terakhir digunakan, dan menambahkannya.

Dengan begitu, Anda dapat menggunakan jenis kunci apa pun yang Anda inginkan, bahkan non-numerik, dan menambahkannya menggunakan algoritme Anda sendiri.

Saya telah menggunakan kunci alfanumerik 6 karakter sebelumnya:

CREATE TABLE `TableKeys` (
  `table_name` VARCHAR(8) NOT NULL,
  `last_key` VARCHAR(6) NOT NULL,
  PRIMARY KEY (`table_name`)
);

SELECT * FROM `TableKeys`;

table_name | last_key
-----------+---------
users      | U00003A2
articles   | A000166D
products   | P000009G


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL ALTER TABLE – Didaftarkan oleh DBMS

  2. Buat jika entri tidak ada, jika tidak perbarui?

  3. MyCLI – Klien MySQL/MariaDB dengan Pelengkapan Otomatis dan Penyorotan Sintaks

  4. Perbarui peringkat di Tabel MySQL

  5. Bagaimana saya bisa menemukan karakter non-ASCII di MySQL?