【问题标题】:get stuck to create table for answers for forum?被困在为论坛的答案创建表格?
【发布时间】:2015-01-04 10:16:26
【问题描述】:

我正在尝试使用 jsp 和 mySql 数据库创建forum

所以,基本上我被困在为桌子创建设计。

我有这张桌子:

create table if not exists thread_question(
question_id INT NOT NULL auto_increment,
person_name VARCHAR(100) NOT NULL,
question_title VARCHAR(500) NOT NULL,
question VARCHAR(100000) NOT NULL,
question_dateTime VARCHAR(100) NOT NULL,
PRIMARY KEY(question_id)
);

create table if not exists thread_answer(
answer_id INT NOT NULL auto_increment,
person_name_answer VARCHAR(100) NOT NULL,
answer VARCHAR(100000) NOT NULL,
answer_dateTime VARCHAR(100) NOT NULL,
PRIMARY KEY(answer_id)
);

如果我获取所有这些答案,它会根据所有问题显示相同的答案。我在这里卡住了..

那么,如何用单独的问题显示答案,以便它可以用不同的问题显示。希望你明白我想说什么。

当然,我们将不胜感激!

【问题讨论】:

  • 这两个表是如何链接的?你怎么知道哪个答案属于哪个问题?您可能需要在 thread_answer 的 question_id 字段中添加一个外键字段。
  • 好吧..最后我明白我需要在答案表中插入question's id...但是我将如何在答案表中插入问题的ID?任何想法..?
  • alter table statement..see this if table is already created else add the same field definition as described in questions table add references question(question_id)

标签: java mysql database jsp forum


【解决方案1】:

你需要在你的答案和你的问题之间建立联系。

所以你需要像这样定义thread_answer 表:

create table if not exists thread_answer(
    answer_id INT NOT NULL auto_increment,
    question_id INT NOT NULL references thread_question(question_id),
    person_name_answer VARCHAR(100) NOT NULL,
    answer VARCHAR(100000) NOT NULL,
    answer_dateTime VARCHAR(100) NOT NULL,
    PRIMARY KEY(answer_id)
);

当您在此表中存储记录时,您必须包含正在回答的问题的question_id。当您在 jsp 中准备答案表单时,请确保将 question_id 编号作为隐藏字段包含在其中。

当您检索到某个问题的所有答案时,您可以将question_id = NNNN 添加到您的WHERE 部分,然后您将获得该问题的答案。

【讨论】:

    猜你喜欢
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多