我有两个桌子。 table_1和table_2。 table_1包含几列,但我需要的两列是table_1.id和table_1.contact_id。 table_2包含空白列table_2.related_contact和一列,填充在table_2.cid中。 table_2.cid和table_1.id相同。
我想基于table_2.cid遍历table_2,其中table_2.cid = table_1.id用同一行的table_1.contact_id中的值更新table_2.related_contact。
我的SQL知识还可以,但是这超出了我的范围。我看了其他答案,但找不到适合该示例的一个例子。
循环前示例:
表1
cid:3745 related_contact: NULL
cid:3746 related_contact: NULL
表2
cid: 3745 related_contact: ae456-78ef
cid: 3746 related_contact: oi958=34hb
循环后:
表2
const [objects, setObjects] = useState([])
useEffect(()=> {
getAllObjects()
},[getAllObjects, objects])
答案 0 :(得分:0)
使用SQL UPDATE语法(https://dev.mysql.com/doc/refman/8.0/en/update.html)将重点放在table_references
上,如第13.2.10节“ SELECT语法”(https://dev.mysql.com/doc/refman/8.0/en/select.html)中所述。
UPDATE table_2 t2
INNER JOIN table_1 t1 ON t1.id=t2.cid
SET
t2.related_contact=t1.contact_id
答案 1 :(得分:0)
您不需要循环,可以使用基于联接的更新
update table2
inner join table1 on table1.id = table2.id
set table2.related_contact = table1.contact_id