在一个表中插入会自动将null添加到另一个表中

时间:2014-08-21 07:49:56

标签: php mysql phpmyadmin

我有两张表,即问答表。

问题表列: qid(主键自动增量), 题, 日期, 回答, ans_id(外键值将为qid), 答案

这就是我想要做的。我在一个表中插入值,例如问题表,然后自动将qid插入到答案表列ans_id中 例如

我插入值

**qid => 1
question => 'This is question'
date => 'dd/mm/yy' (auto insert)**

只需输入问题表,答案表值应该像这样自动插入

**ans_id => 1
answer => null**

我知道这可以在访问中轻松完成,但我无法在我的php phpmyadmin中执行此操作。我还添加了外键约束,但它没有帮助.Plz帮助

2 个答案:

答案 0 :(得分:0)

看看触发器。您可以INSERT / UPDATE / DELETE或几乎任何由其他INSERT / UPDATE / DELETE触发的内容

http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html

答案 1 :(得分:0)

表格结构

Question (qid, question, date)  --- qid (primary and Auto increment)
Answer(ans_id, answer, qid)   ---- ans_id (primary and auto increment) qid (foreign key)

在这里你可以这样做:

// calling save to save values in DB
function save()
{
    // getting values from post
    // insert query to save values of question in Question table
    mysql_query("INSERT INTO `Question` (`question`, `date`) VALUES ('$question', NOW())");
    $last_inserted_question_id = mysql_insert_id(); // return last inserted id
    // again run insert query to insert value in answer table
    mysql_query("INSERT INTO `Answer` (`answer`, `qid`) VALUES (null , '$last_inserted_question_id')");
}

否则,您可以使用触发器的概念,当您在问题表中插入某些内容时,该触发器将自动运行查询“答案”表中的插入。

DROP TRIGGER IF EXISTS testTrigger;
CREATE TRIGGER testTrigger 
BEFORE INSERT ON Question
FOR EACH ROW 
BEGIN 
  // insert query for answer table
END;

我希望能帮到你!

相关问题