SQLSTATE[HY000]: General error: 1364 Field id doesnt have a default value

Jumpa lagi dalam blog sederhana saya di halaman berbagi opini dan pemikiran Blog Garda Nasional. Kali ini saya akan membahas error yang ditanyakan oleh murid saya ketika saya sedang nguli di kantor.

Error tersebut terjadi ketika ia melakukan registrasi member pada form registrasi bawaan dari Laravel seperti berikut.

laravel-register

Nah, problem-nya adalah: ketika tombol Register diklik, maka akan menghasilkan error seperti berikut.

SQLSTATE[HY000]: General error: 1364 Field id doesnt have a default value (SQL: insert into `users` (`name`, `email`, `password`, `updated_at`, `created_at`) values (Putra Dirgantara, pdspacelabs@gmail.com, $2y$10$KjMS1GpnfVtlKHD2XuUIKegg7ngU4J6cYLn3HTLMrpVVm4nxyCsha, 2020-01-19 14:32:51, 2020-01-19 14:32:51))

 

error-laravel-register 

Setelah googling sana-sini dan menjelajah ke Stack Overflow, akhirnya saya menemukan penyebabnya. Yaitu: field `id` pada tabel `users` belum diset sebagai `PRIMARY_KEY` dan oleh karena itu belum diberikan label `AUTO_INCREMENT`.

Pengaturan sebagai `PRIMARY_KEY` adalah sangat penting agar tabel memiliki kunci primer yang dapat dijadikan acuan dan label `AUTO_INCREMENT` bertujuan agar baris tabel atau row dapat bertambah secara otomatis setiap kali user melakukan registrasi.

field-id-without-primary-key-and-autoincrement

Hal ini kemungkinan disebabkan karena lupa mengeset field `id` sebagai `PRIMARY_KEY` pada saat melakukan migrate. Untuk mengatasi error tersebut, kita harus mengeset field `id` tersebut sebagai `PRIMARY_KEY`.

Langkah pertama, klik dropdown More pada field `id` dan pilih opsi Primary seperti berikut.

mengeset-field-id-sebagai-primary

Kemudian, klik tombol OK seperti berikut.

mengeset-field-id-sebagai-primary-ok

Setelah berhasil, langkah selanjutnya adalah memberikan label `AUTO_INCREMENT` pada field `id` yang sudah diset sebagai `PRIMARY_KEY` tersebut. Oleh karena itu, kita klik link Change pada kolom Action field `id` tersebut seperti berikut.

mengeset-label-autoincrement-pada-field-id

Lalu, berikan label `AUTO_INCREMENT` dengan mencentang checkbox A_I dan klik tombol Save seperti berikut.

mengeset-label-autoincrement-pada-field-id

Berikutnya, lakukan pengujian dengan melakukan registrasi kembali seperti langkah semula dan klik tombol Register seperti berikut.

laravel-register-ok

Hasilnya, proses registrasi berhasil dan terlihat baris data atau row bertambah pada tabel `users` seperti berikut.

proses-registrasi-berhasil-dan-baris-tabel-bertambah

Dengan demikian, kita telah berhasil mengatasi error tersebut dan sampai jumpa pada pembahasan topik-topik menarik lainnya di Blog Garda Nasional.

(pdlabs)

Web developer and bad designer. Enthusiast in research and development of computer and information technology. Hard worker and militant spirituality. Care about science, technology and environment especially renewable energy.

Related Posts

0 Comments

Leave a reply