한 테이블의 user_Id를 다른 테이블의 parent_id에 삽입하고 싶은데 두 테이블 사이에 공통 값이 없습니다.
P粉323224129
2023-07-30 13:35:25
<p style="white-space:normal;">현재 세 개의 테이블이 있습니다: </p><p style="white-space:normal;">users 테이블//등록 중에 데이터가 삽입됩니다. <pre class="brush:php;toolbar:false;">usersId //기본 키
사용자 이름
사용자 이름
userUid
이메일
사용자 비밀번호
날짜시간</pre>
<p><code>상위</code>/p>
<pre class="brush:php;toolbar:false;">id //기본 키
ikB
mL이름
나이메일
엠폰
f이름
fL이름
f이메일
f전화
주소L1
주소L2
도시
상태Abbr
지퍼
생성_시간
user_id //외래 키</pre>
<p>users 테이블의 email 열과 mEmail 또는 fEmail을 사용하여 usersId를 상위 테이블에 삽입했습니다. </p>
<p><code>어린이</code> 테이블</p>
<pre class="brush:php;toolbar:false;">child_id //기본 키
child1이름
dobChild1
나이어린이1
child2이름
dobChild2
나이어린이2
child3이름
dobChild3
나이어린이3
child4이름
dobChild4
나이어린이4
아이5이름
dobChild5
나이어린이5
child6이름
dobChild6
나이어린이6
child7이름
dobChild7
나이어린이7
child8이름
dobChild8
나이어린이8
child9이름
dobChild9
나이어린이9
child10이름
dobChild10
나이어린이10
parent_id //외래 키</pre>
<p>어린이 테이블과 다른 두 테이블 사이에는 공통 값이 없습니다. 내 기대는 사용자 테이블과 상위 테이블 간의 유효성 검사를 수행하고 사용자 테이블의 usersId와 상위 테이블의 user_id가 동일한 경우 해당 값을 하위 테이블의 parent_id에 삽입하는 것입니다. 이것이 가능한가? 교차 조인 사용을 고려했지만 데이터베이스의 항목 수가 증가하면 성능이 저하될까 걱정됩니다. </p>
<pre class="brush:php;toolbar:false;">사용자 중에서 사용자 ID를 선택하세요.
부모에서 user_id를 선택하세요.
UPDATE 하위 항목(parent_Id) INNER JOIN 상위 ON children.parent_id = users.usersId
업데이트 어린이
사용자 ID 선택
사용자로부터
교차 JOIN children.parent_id ON users.usersId = children.parent_id
업데이트 어린이
INNER JOIN 사용자
(INNER JOIN 상위 ON users.userId = parent.userId)
ON users.usersId = parent.user_id
SET children.parent_id = parent.user_Id;</pre>
<p>모든 방법을 시도했지만 성공하지 못했습니다. 또한 연결 순서를 변경해 보았지만 역시 작동하지 않았습니다. 귀하가 제공할 수 있는 도움에 진심으로 감사드립니다. </p>
根据您的描述,您希望根据用户表和父母表之间的匹配值,更新子表中的 parent_id 列。您想要使用用户表的 usersId 和父母表的 user_id 来更新子表中的 parent_id。
您可以使用以下 SQL 查询来实现:
解释:
在运行任何更新查询之前,请务必备份数据库,以确保安全。、
至于您对于数据库条目增长时性能的担忧,只要在相关列上有适当的索引,例如 users 表中的电子邮件以及 parent 表中的 mEmail 和 fEmail,此查询应该是高效的。索引将显著加快查找过程,尤其是在处理大型数据集时。