我无法尝试在mysql(使用php版本5.4)中将表连接到表,而user_id是关键。例如,我为我的用户提供了一个名为as_users的表,并为新用户分配了一个自动递增的user_id。然后我创建了测试表(我使用下面的代码完成)。但是当一个新用户注册时,用户只会被添加到as_users表中(假设他们变成了user_id 3.但是我的测试仍然只是显示我手动输入Test的一个user_id(user_id 1)。
我缺少什么让Test表user_id记录与as_users表匹配?
毋庸置疑,我是新手,不确定下面的语法是否正确,是否应该使用FK或CONSTRAIN语法连接这些表。
这就是我创建Test表的方法:
CREATE TABLE TEST
(
user_id int NOT NULL,
interests varchar(255) NOT NULL,
bio mediumtext,
PRIMARY KEY (user_id),
FOREIGN KEY (user_id) REFERENCES as_users(user_id)
)
我做错了吗?
答案 0 :(得分:0)
您仍然需要手动将记录插入两个表中......外键不会自动为您处理。
您可以通过触发器完成此操作,但我强烈建议不要使用该方法。
答案 1 :(得分:0)
评论太长了。
我不完全理解这个问题。听起来您正在将记录插入as_users
,并且您希望记录显示在test
中。这不是这些约束的工作方式。外键约束表示 时将记录加载到test
,然后user_id
列需要是as_users
中的有效密钥。
如果要在插入as_users
时向两个表中添加记录,则需要插入触发器。但是,在执行插入操作时,如何知道要为interests
和bio
插入哪些值?