Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini ID Soalan NULL dalam Jadual Pangkalan Data Menggunakan Jadual Berkaitan?

Bagaimana untuk Mengemas kini ID Soalan NULL dalam Jadual Pangkalan Data Menggunakan Jadual Berkaitan?

Barbara Streisand
Lepaskan: 2025-01-10 06:48:46
asal
542 orang telah melayarinya

How to Update NULL QuestionIDs in a Database Table Using a Related Table?

Kemas Kini Jadual Pangkalan Data: Menjajarkan Lajur dengan Nilai Dirujuk

Soalan anda berkaitan dengan mengemas kini jadual pangkalan data di mana lajur QuestionID mengandungi nilai nol. Anda berusaha untuk menetapkan nilai nol ini sama dengan nilai ID Soalan yang sepadan dalam jadual berkaitan, 'Jawapan', dirujuk oleh lajur AnswerID.

Untuk mencapai ini, anda boleh memanfaatkan gabungan dalaman. Pertanyaan berikut menunjukkan cara:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;
Salin selepas log masuk

Operasi INNER JOIN mewujudkan sambungan antara baris dalam jadual QuestionTrackings dan QuestionAnswers berdasarkan nilai AnswerID yang sepadan. Ini membolehkan kami mengakses nilai QuestionID daripada jadual QuestionAnswers untuk setiap baris dalam jadual QuestionTrackings.

Anda boleh menambah syarat tambahan pada klausa WHERE untuk mengecilkan lagi baris yang akan dikemas kini. Sebagai contoh, jika anda hanya ingin mengemas kini baris dengan QuestionID adalah batal dan AnswerID kurang daripada 500:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL AND q.AnswerID < 500;
Salin selepas log masuk

Adalah disyorkan untuk pratonton baris yang akan dikemas kini menggunakan pertanyaan pilih sebelum melaksanakan kemas kini untuk memastikan ketepatan :

SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL;
Salin selepas log masuk

Ini akan membantu anda mengesahkan bahawa setiap AnswerID hanya mempunyai satu ID Soalan yang berkaitan dan mengelakkan kemungkinan ralat semasa kemas kini proses.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini ID Soalan NULL dalam Jadual Pangkalan Data Menggunakan Jadual Berkaitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan