Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Nama Pengguna dengan Nilai Utama Utama Gabungan dalam MySQL?

Bagaimana untuk Menetapkan Nama Pengguna dengan Nilai Utama Utama Gabungan dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-09 21:58:02754semak imbas

How to Assign Usernames with Concatenated Primary Key Values in MySQL?

Memasukkan Data dengan Rentetan Bersambung dan Kunci Utama

Sisipan ke dalam jadual MySQL melibatkan penugasan nilai kepada lajur, selalunya termasuk primer yang ditambah secara automatik kunci. Walau bagaimanapun, kadangkala seseorang mungkin ingin menggabungkan rentetan dengan kunci utama semasa memasukkan, seperti dalam kes menetapkan nama pengguna sebagai "pengguna" diikuti dengan nilai kunci utama.

Cabaran:

Jadual pengguna mengandungi beberapa lajur, termasuk kunci utama "id" dan lajur "nama pengguna" yang ditambah secara automatik. Tujuannya adalah untuk menetapkan nama pengguna secara automatik sebagai "pengguna" yang dilampirkan dengan nilai kunci utama masing-masing.

Pendekatan:

  • Menggunakan satu pernyataan SQL adalah mustahil kerana nilai kunci utama hanya dijana selepas melaksanakan pencetus "SEBELUM INSERT", dan pengubahsuaian "nama pengguna" yang berikutnya adalah dilarang dalam pencetus "AFTER INSERT".
  • Penyelesaian yang berdaya maju adalah dengan melakukan pemasukan dahulu dan kemudian laksanakan kemas kini segera untuk menggabungkan nilai kunci utama dengan rentetan.

Alternatif:

  • Jika kunci primer tidak dinaikkan secara automatik dan sebaliknya dinyatakan, operasi penggabungan boleh dilakukan terus dalam kod PHP sebelum menghantar nilai sebagai parameter.

Nota:

  • MySQL 5.7's lajur yang dijana tidak dapat menampung senario ini. Percubaan membuat lajur yang dijana merujuk kepada lajur yang dinaikkan secara automatik mengakibatkan ralat "'Nama pengguna' lajur yang dijana tidak boleh merujuk kepada lajur kenaikan automatik."

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nama Pengguna dengan Nilai Utama Utama Gabungan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn