gpt4 book ai didi

MySQL 更新其他表

转载 作者:行者123 更新时间:2023-11-29 09:02:33 25 4
gpt4 key购买 nike

我希望能够将数据插入 t1并将数据填充到表 t2 中将 t2 中的主键作为外键.

基本上,当我 INSERT INTO t1 (first_name, last_name) values ( "blah", "blah"); 时,我当前的设置是怎样的?然后做SELECT * FROM t2; t2它说Empty Set (0.00 sec)对于 t2 ?难道它不应该至少显示默认值 id 1?

t1 :

+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| first_name | varchar(20) | NO | | NULL | |
| last_name | varchar(20) | NO | | NULL | |
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
+------------+------------------+------+-----+---------+----------------+

t2 :

+-----------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+-------+
| address | varchar(50) | NO | | NULL | |
| id | int(10) unsigned | NO | MUL | NULL | |
| last_name | varchar(20) | YES | | NULL | |
+-----------+------------------+------+-----+---------+-------+

最佳答案

在关系数据库中,FOREIGN KEY 是一种声明,表明您打算将值插入到 T2 中,该值必须与 T1 中已存在的值匹配,并且您希望数据库拒绝执行任何会破坏此关系的操作。

这并不意味着数据库将自行创建记录以满足关系。如果您尝试向 T2 中插入 T1 中不存在的值,该命令将失败;它不会将所需的记录添加到 T1。

但这与您的建议相反,您希望自动生成外键值。但是,不要求主键值实际上具有引用,而且,主键值可以被引用的次数也没有限制 - 那么数据库如何猜测应该创建什么T2?

也就是说,如果您希望在将数据添加到 T1 时自动执行一些您自己的代码(可以执行您想要的任何操作的代码),您可以在 T1 上创建一个触发器

关于MySQL 更新其他表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176934/

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