gpt4 book ai didi

mysql - 更新MySQL表中的字段

转载 作者:行者123 更新时间:2023-11-29 23:16:49 25 4
gpt4 key购买 nike

我有两个表如下:

Table A:
home_id; home_name; home_address

Table B:
person_id; person_name; home_id; home_name; home_address

我正在使用 xataface 为我的 MySQL 数据库创建首页。用户将在表 B 中输入数据,其中提供 person_name 和 home_id。

我希望根据表 B 中输入的 home_id 相应更新 home_name 和 home_address,或者当表 A 中的信息更新时。 (即用户无需在表 B 中的 home_name 和 home_address 处输入任何内容)

我应该使用触发器吗?或者我应该使用外键吗?

最佳答案

首先标准化你的表格:-

Table A:
home_id; home_name; home_address

Home_id为主键

Table B: 
person_id; person_name; home_id;

Person_id为主键,Home_id为外键。B表中的Home_id将成为A表的主键。

插入记录:-

步骤1.首先在表A中插入地址。它将生成唯一的Home_id。

第 2 步。现在在表 B 中插入 reocrd,并使用 newluy create home_id 作为外键。

更新记录:-

表 A. 使用唯一的 Home_id 更新表 A

表 B。使用唯一的 Person_id 更新表 B

表 A 和表 B。使用两个单独的更新查询更新两个表。但将两个查询放在一个事务中以保持原子性。 http://en.wikipedia.org/wiki/Atomicity_(database_systems)

或使用以下查询:-

UPDATE Table_B JOIN Table_A ON Table_A.home_id = Table_B.home_id
SET Table_A.home_name=<home_name>,
Table_A.home_address= <home_address>,
Table_B.person_name=<person_name>
WHERE Table_B.person_id = <search_contidion>

关于mysql - 更新MySQL表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27717187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com