这可能是一个愚蠢的问题,但是我真的不是SQL database
的新手,例如,我想创建一个包含2个表的SQL database
。
表格1:
AccountID,
AccountUsername,
AccountPassword,
帐户ID将是主键。
表2:
AccountID
Calculation
TotalCalculation
AccountID将是外键。
每次我更新表1中的AccountID时,它都不会在表2中显示AccountID的数据,我对数据库确实是新手,也不知道是否可以这样做。
我想要实现的是:
表格1:
AccountID = 1;
AccountUsername = 'TestUsername'
AccountPassword = 'TestPassword'
表2:
AccountID = 1; - This is updated whenever I update the AccountID in Table 1.
Calculation = 123.123
TotalCalculation = 1234.1234
最佳答案
如果要在表1中更新帐户ID时自动更新表2中的帐户ID,请在表2上使用on update级联子句创建FK,例如
drop table if exists t,t1;
create table t
(accountid int primary key);
create table t1
(accountid int,
foreign key fk1(accountid) references t(accountid) on update cascade
);
insert into t values (1),(2);
insert into t1 values (1);
update t
set accountid = 3 where accountid = 1;
select * from t;
+-----------+
| accountid |
+-----------+
| 2 |
| 3 |
+-----------+
2 rows in set (0.01 sec)
select * from t1;
+-----------+
| accountid |
+-----------+
| 3 |
+-----------+
1 row in set (0.00 sec)
关于mysql - SQL外键和主键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59247942/