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

Buat id kenaikan otomatis MySQL (kembali) mulai dari 1

Dengan asumsi tidak ada masalah kunci asing yang harus ditangani, kode ini akan melakukannya:

set @id:=0;
update mytable
set id = (@id := @id + 1)
order by id;

Jika ada masalah kunci asing, pastikan batasan Anda didefinisikan seperti ini sebelum Anda menjalankan pembaruan:

ALTER CHILD_TABLE ADD CONSTRAINT
FOREIGN KEY MYTABLE_ID REFERENCES MYTABLE
ON UPDATE CASCADE; -- This is the important bit

Setelah semuanya selesai, jalankan ini untuk memperbaiki nilai auto_increment:

SELECT MAX(ID) + 1 FROM MYTABLE; -- note the output
ALTER TABLE MYTABLE AUTO_INCREMENT = <result from above>;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke instans RDS dari instans EC2

  2. Apakah ada cara untuk menjalankan MySQL dalam memori untuk kasus uji JUnit?

  3. MYSQL ERROR 2049 (HY000):Koneksi menggunakan protokol otentikasi lama (pra-4.1.1) yang digunakan (opsi klien 'secure_auth' diaktifkan)

  4. Dapatkan n catatan teratas untuk setiap grup hasil yang dikelompokkan

  5. Kelola MySQL dengan phpMyAdmin di Ubuntu 10.10 (Maverick)