mysql - 如何将 table1 中的行与 table2 中的数据连接,其中 table2 中的所有数据都具有 table1 中的行 id

标签 mysql row

//Table 1
$table = "CREATE TABLE IF NOT EXISTS questions (
id INT (11) NOT NULL AUTO_INCREMENT,
quesion TEXT NOT NULL,
user VARCHAR (255) NOT NULL,
date TIMESTAMP NOT NULL,
question TEXT NOT NULL,
answer TEXT NOT NULL,
PRIMARY KEY (id)
)";

//Table 2
$table = "CREATE TABLE IF NOT EXISTS answers (
id INT (11) NOT NULL AUTO_INCREMENT,
user VARCHAR (255) NOT NULL,
answer TEXT NOT NULL,
datum TIMESTAMP NOT NULL,
PRIMARY KEY (id)
)";

我有两种形式。一个用于插入问题,另一个用于插入答案。它正在发挥作用。但我有一个问题。对于一个问题,你几乎没有答案是正常的,但现在当我提交答案并尝试为第一个问题添加第二个答案时,它会覆盖我的第一个答案。 //这段代码可以做到这一点

$sql="UPDATE questions SET answer='$_POST[answer]' WHERE id='$_POST[id]'";

我现在 - 显然每个插入的答案都会对“问题”表进行操作,但我需要将答案插入“答案”表中,并将每个答案从表“问题”中连接到他的问题

因此,恢复 - 用户来到网站,查看问题,回答问题然后离开,第二个用户来后给出相同问题的答案,然后离开。 如何让它发挥作用。我尝试过使用一些外键,但没有任何结果..

最佳答案

添加一个额外的字段,例如。 QuestionId 添加到您的答案表。 在插入 SQL 中,您将 QuestionId 提供给您的答案插入语句。

然后您可以选择一个问题的所有答案:

SELECT * FROM answser WHERE QuestionId=$qId

关于mysql - 如何将 table1 中的行与 table2 中的数据连接,其中 table2 中的所有数据都具有 table1 中的行 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21205084/

相关文章:

css - 当我将鼠标悬停在表格行上时,为什么我的表格行不会更改背景颜色?

mysql - 根据参数最干净的加入方式

mysql - 使用具有连接的 MySQL 子查询时的命名冲突

sql - Oracle 将多列合并为一列

如果行与上一行相同,则删除该行,但一列除外

hash - 如何为每行 rdd 生成哈希? (PYSPARK)

php - 如何比较 PHP 中的 MySQL 版本?

mysql - SQL删除更新外键主键约束

MySQL查询返回带有详细/重复信息的数据

ios - SwiftUI 列表 - 禁用特定行的 move ?