Saya mahu memasukkan user_Id daripada satu jadual ke dalam parent_id jadual lain, tetapi tiada nilai sepunya antara kedua-dua jadual.
P粉323224129
2023-07-30 13:35:25
<p style="white-space:normal;">Saya kini mempunyai tiga jadual: </p><p style="white-space:normal;">jadual pengguna//Data dimasukkan semasa pendaftaran <pre class="brush:php;toolbar:false;">usersId //KUNCI UTAMA
userfName
nama pengguna
userUid
emel
penggunaPwd
dateTime</pre>
<p><kod>induk</kod>
<pre class="brush:php;toolbar:false;">id //KUNCI UTAMA
ikB
nama mL
mEmel
mPhone
fname
nama fL
fEmel
fTelefon
alamatL1
alamatL2
bandar
negeriAbbr
zip
dicipta_di
user_id //KUNCI ASING</pre>
<p>Saya menggunakan lajur e-mel daripada jadual pengguna dan mEmail atau fEmail untuk memasukkan usersId ke dalam jadual ibu bapa. </p>
<p><kod>Kanak-kanak</kod>
<pre class="brush:php;toolbar:false;">child_id //KUNCI UTAMA
anak1Nama
dobAnak1
umurKanak1
anak2Nama
dobAnak2
umurKanak2
anak3Nama
dobChild3
umurKanak3
anak4Nama
dobAnak4
umurKanak4
anak5Nama
dobAnak5
umurKanak5
anak6Nama
dobAnak6
umurKanak6
anak7Nama
dobChild7
umurKanak7
anak8Nama
dobAnak8
umurKanak8
anak9Nama
dobAnak9
umurKanak9
anak10Nama
dobChild10
umurKanak10
parent_id //KUNCI ASING</pra>
<p>Tiada nilai sepunya antara meja kanak-kanak dan dua jadual lain. Jangkaan saya adalah untuk melakukan pengesahan antara jadual pengguna dan jadual induk, dan jika usersId jadual pengguna dan user_id jadual induk adalah sama, masukkan nilai tersebut ke dalam parent_id jadual kanak-kanak. Adakah ini mungkin? Saya mempertimbangkan untuk menggunakan gabungan silang, tetapi saya bimbang prestasi akan terjejas apabila bilangan entri dalam pangkalan data bertambah. </p>
<pre class="brush:php;toolbar:false;">SELECT usersId DARIPADA pengguna;
PILIH user_id DARIPADA induk;
KEMASKINI kanak-kanak (Id_ibu bapa) SERTAI ibu bapa DALAM children.parent_id = users.usersId
KEMASKINI kanak-kanak
PILIH usersId
DARIPADA pengguna
silang SERTAI anak.id_ibubapa PADA pengguna.Idpengguna = anak.id_ibubapa
KEMASKINI kanak-kanak
INNER JOIN pengguna
(INNER JOIN parent ON users.userId = parent.userId)
ON users.usersId = parent.user_id
SET children.parent_id = parent.user_Id;</pre>
<p>Saya telah mencuba setiap kaedah tetapi tidak berjaya. Saya juga cuba menukar susunan sambungan tetapi itu tidak berfungsi sama ada. Terima kasih banyak atas sebarang bantuan yang anda boleh berikan. </p>
Berdasarkan penerangan anda, anda ingin mengemas kini lajur parent_id dalam jadual anak berdasarkan nilai padanan antara jadual pengguna dan jadual induk. Anda ingin mengemas kini parent_id dalam jadual anak dengan usersId daripada jadual pengguna dan user_id daripada jadual induk.
Anda boleh melakukan ini menggunakan pertanyaan SQL berikut:
Penjelasan:
Pastikan anda membuat sandaran pangkalan data anda sebelum menjalankan sebarang pertanyaan kemas kini, hanya untuk selamat. ,
Mengenai kebimbangan anda tentang prestasi apabila entri pangkalan data berkembang, pertanyaan ini harus cekap selagi terdapat indeks yang sesuai pada lajur yang berkaitan, seperti e-mel dalam jadual pengguna dan mEmail dan fEmail dalam jadual induk. Indeks akan mempercepatkan proses carian dengan ketara, terutamanya apabila bekerja dengan set data yang besar.