连接两个mysql表时遇到问题

时间:2014-07-21 03:20:52

标签: mysql

我无法尝试在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)
)

我做错了吗?

2 个答案:

答案 0 :(得分:0)

您仍然需要手动将记录插入两个表中......外键不会自动为您处理。

您可以通过触发器完成此操作,但我强烈建议不要使用该方法。

答案 1 :(得分:0)

评论太长了。

我不完全理解这个问题。听起来您正在将记录插入as_users,并且您希望记录显示在test中。这不是这些约束的工作方式。外键约束表示 时将记录加载到test,然后user_id列需要是as_users中的有效密钥。

如果要在插入as_users时向两个表中添加记录,则需要插入触发器。但是,在执行插入操作时,如何知道要为interestsbio插入哪些值?