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.
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))
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.
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.
Kemudian, klik tombol OK seperti berikut.
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.
Lalu, berikan label `AUTO_INCREMENT` dengan mencentang checkbox A_I dan klik tombol Save seperti berikut.
Berikutnya, lakukan pengujian dengan melakukan registrasi kembali seperti langkah semula dan klik tombol Register seperti berikut.
Hasilnya, proses registrasi berhasil dan terlihat baris data atau row bertambah pada tabel `users` seperti berikut.
Dengan demikian, kita telah berhasil mengatasi error tersebut dan sampai jumpa pada pembahasan topik-topik menarik lainnya di Blog Garda Nasional.
(pdlabs)