Skip to main content

Cara mereset Identity Column di SQL Server


Identity Column merupakan fitur pada SQL Server untuk membuat auto increment atau membuat auto number pada kolom tertentu secara otomatis. Ketika kita telah menghapus atau mengosongkan data pada sebuah tabel di database yang memiliki identity column menggunakan query delete maka kita harus mengembalikan nilai awal (reset) dari tipe data int yang menggunakan identity column, hal ini terjadi karena nilai dari column tersebut tidak otomatis di reset oleh SQL Server.

Selama pengembangan aplikasi biasanya kita sering memasukkan data dummy ke dalam database untuk tujuan pengujian. Tapi kemudian kita sampai pada titik dimana kita ingin semua record dari tabel dihapus dan juga ingin memulai nilai identity column dari 0. Untuk itu, kita harus menghapus data yang ada menggunakan perintah yang ada pada SQL Server. Perintah ini akan menghapus data dari tabel dan juga mengatur ulang nilai identity column.

Mereset identity column menggunakan perintah TRUNCATE

[truncate table nama_tabel]

Perintah truncate akan mengembalikan nilai awal indentity column pada saat tabel dicreate, nilai default dari identiy column pada saat create tabel adalah 0, tapi nilai tersebut bisa saja diubah. Misalkan kita mempunya tabel seperti dibawah ini:

[USE [nama_database] GO -- Create Table CREATE TABLE [dbo].[produk]( [ID] [int] IDENTITY(11,1) NOT NULL, [var] [nchar](10) NULL ) ON [PRIMARY] GO -- Input Data INSERT INTO [produk] VALUES ('Sirup') GO -- Hapus Data DELETE FROM [produk] GO]

Ketika kita menjalan perintah truncate setelah perintah diatas maka nilai dari identity columnnya akan di reset ke nilai 11 bukan 0, karena nilai awal identity columnya ketika membuat tabelnya adalah 11.

Mereset identity column menggunakan perintah RESEED

Berikut adalah query untuk mereset identity column pada database SQL Server

[DBCC CHECKIDENT('nama_tabel', RESEED, 0)]

Pada perintah diatas anda bisa merubah angka 0 menjadi angka yang anda inginkan, jadi dengan menggunakan perintah reseed diatas kita bisa mereset indentity column dengan angka yang kita inginkan  dan bukan direset seperti kondisi saat create tabel pada perintah truncate.

Comments

Popular posts from this blog

Tutorial SQL Injection Menggunakan SQLMap

Kali ini kita akan membahas tutorial hacing dengan teknik SQL Injection menggunakan tool SQLMap untuk melakukan hacking atau serangan pada website berbasis data dengan tujuan untuk menemukan kerentanan keamanan pada website tersebut. SQL Injection adalah teknik injeksi code yang digunakan untuk melakukan serangan pada aplikasi web berbasis data di mana pernyataan malicious SQL dimasukkan ke dalam entri untuk di eksekusi (misalnya untuk menampilkan konten database ke penyerang). SQL injection dapat mengeksploitasi kerentanan keamanan pada perangkat lunak aplikasi, misalnya saat user salah melakukan filter inputan untuk pengiriman karakter yang disematkan dalam pernyataan SQL atau inputan user tidak diketik dengan benar dan tanpa diduga dieksekusi. SQL Injection lebih dikenal sebagai vektor serangan untuk sebuah situs web namun juga dapat digunakan untuk menyerang semua jenis database SQL. Apa itu SQLMap SQLMap adalah salah satu tool otomatis untuk melakukan SQL Injection yang

Penjumlahan dan pengurangan tanggal di PHP

Penjumlahan (tambah) dan pengurangan (kurang) tanggal di PHP sering  kita jumpai di beberapa kasus pembuatan sistem seperti pembuatan fitur peminjaman, perizinan, pemesanan dan lain-lain. Kali ini kita akan membahas bagaimana  suatu tanggal dapat di tambah atau di kurangi dengan hari, bulan dan tahun. Ok langsung saja kita bahas materinya!

Cara membuat Hak Akses (Privileges) pada user SQL Server (Grant dan Revoke)

Pada tutorial kali ini kita akan belajar bagaimana cara membuat atau memberi grant atau revoke hak akses (Privileges) pada user di SQL Server menggunakan syntax Transact SQL (T-SQL). Anda dapat memberi GRANT dan REVOKE hak akses pada berbagai objek database di SQL Server. Kali ini kita akan melihat bagaimana memberi dan menghapus hak akses pada tabel di SQL Server. Memberikan permissions dan menghapus permissions tidak terlalu sulit dilakukan di dalam SQL Server, hanya butuh beberapa waktu untuk menentukan permissions apa yang harus diterapkan. Sebelumnya anda harus membuat user dahulu pada SQL Server, setelah itu baru kita bisa memberi Hak Akses. Berikutnya pastikan anda sudah membuat atau menjalankan script dibawah ini. [USE [nama_database] GO CREATE USER [nama_user] FOR LOGIN [nama_user]] Grant Hak Akses (Privileges) pada  tabel Anda dapat memberi (Grant) berbagai hak akses ke tabel pada user. Hak akses ini bisa berupa kombinasi SELECT, INSERT, UPDATE, DELETE, REFERENCES