我想將一個表中的user_Id插入到另一個表的parent_id中,但是這兩個表之間沒有共同的值。
<p style="white-space:normal;">我目前有三個表格:</p><p style="white-space:normal;">users表格// 資料在註冊時插入<pre class="brush:php;toolbar:false;">usersId //PRIMARY KEY
userfName
userlName
userUid
email
userPwd
dateTime</pre>
<p><code>parent</code> table</p>
<pre class="brush:php;toolbar:false;">id //PRIMARY KEY
mFname
mLname
mEmail
mPhone
fFname
fLname
fEmail
fPhone
addressL1
addressL2
city
stateAbbr
zip
created_at
user_id //FOREIGN KEY</pre>
<p>我使用了users表格中的email列以及mEmail或fEmail來將usersId插入到parents表格中。 </p>
<p><code>Children</code> Table</p>
<pre class="brush:php;toolbar:false;">child_id //PRIMARY KEY
child1Name
dobChild1
ageChild1
child2Name
dobChild2
ageChild2
child3Name
dobChild3
ageChild3
child4Name
dobChild4
ageChild4
child5Name
dobChild5
ageChild5
child6Name
dobChild6
ageChild6
child7Name
dobChild7
ageChild7
child8Name
dobChild8
ageChild8
child9Name
dobChild9
ageChild9
child10Name
dobChild10
ageChild10
parent_id //FOREIGN KEY</pre>
<p>在兒童桌和其他兩個表之間沒有共同的數值。我的期望是在使用者表和父表之間進行驗證,如果使用者表的usersId和父表的user_id相等,則將該值插入到children表的parent_id中。這種操作是否可行?我考慮使用交叉連接(cross join),但我擔心隨著資料庫中的條目數量增長,效能會受到影響。 </p>
<pre class="brush:php;toolbar:false;">SELECT usersId FROM users;
SELECT user_id FROM parent;
UPDATE children (parent_Id) INNER JOIN parent ON children.parent_id = users.usersId
UPDATE children
SELECT usersId
FROM users
cross JOIN children.parent_id ON users.usersId = children.parent_id
UPDATE children
INNER JOIN users
(INNER JOIN parent ON users.userId = parent.userId)
ON users.usersId = parent.user_id
SET children.parent_id = parent.user_Id;</pre>
<p>我已經嘗試了每一種方法,但都沒有成功。我還嘗試改變連接的順序,但也沒有用。非常感謝您提供的任何幫助。 </p>