Reset Auto Increment Pada MySQL dan PostgreSQL

Jika dalam suatu kondisi Anda perlu reset, atau menentukan sendiri nilai auto increment yang ada pada column auto increment database MySQL dan PostgreSQL, makadapat menggunakan cara berikut ini.

Untuk MySQL
mysql> ALTER TABLE t_table AUTO_INCREMENT = x;
x : nilai auto increment selanjutnya.
Jika Anda memiliki data didalam table dan mengeksekusi query diatas dengan memberikan nilai x lebih kecil dari id terakhir di table, maka nilai x akan tetap di set 1 angka setelah angka terakhir id data pada database Anda.

Untuk PostgreSQL
Untuk PostgreSQL memiliki cara sendiri. Anda mungkin perlu tahu dulu nama seq nya sebelum bisa melakukan reset.
Jika Anda menggunakan type data SERIAL untuk id auto increment, maka untuk mendapatkan nama seq nya bisa menggunakan query berikut :
test=# SELECT pg_get_serial_sequence('t_table', 'id');
t_table : adalah nama table
id : adalah column yang diberi type data SERIAL.

Setelah mendapatkan nama seq nya, selanjutnya bisa di reset dengan menggunakan fungsi SETVAL
test=# SELECT SETVAL((SELECT pg_get_serial_sequence('t_table', 'id')), 1, false);
Atau cara yang lebih mudah lagi adalah dengan menggunakan fungsi RESTART IDENTITY jika Anda ingin mereset nilai auto increment berbarengan dengan TRUNCATE
test=# TRUNCATE t_table RESTART IDENTITY CASCADE