我有一个测验模块,其中有两个表quiz_question
和quiz_options
。 quiz_question
正在保存问题
和quiz_option
保存特定问题的选项。
quiz_option
的表格结构: id | question_id |文字| is_correct
quiz_question
的表格结构 id |标题| desctiption |
其中question_id是id quiz_question
我想编写一个查询来更新quiz_question,所有相应的quiz_options都是一个查询。
答案 0 :(得分:0)
多表更新你可以使用外键连接两个或多个表用外键概念更新父表主键到子表外键见链接 http://www.hostingadvice.com/how-to/mysql-foreign-key-example/。
table quiz_question PK (question_id)
table quiz_option FK (question_id)
答案 1 :(得分:0)
获取问题的ID并逐个更新,因为您无法使用单个查询更新两个表。
$ID_VALUE = mysqli_real_escape_string($conn, $_GET['id']);
UPDATE quiz_option SET fields_name = 'value' WHERE question_id = $ID_VALUE;
UPDATE quiz_question SET fields_name = 'value' WHERE id = $ID_VALUE;
答案 2 :(得分:0)
以下是查询:
INSERT INTO quiz_question(title,description) VALUES ('test','test question');
INSERT INTO quiz_option(question_id,text,is_correct) VALUES (LAST_INSERT_ID(),'test','0'),(LAST_INSERT_ID(),'test2','0'),(LAST_INSERT_ID(),'test3','0'),(LAST_INSERT_ID(),'test4','1')
答案 3 :(得分:-1)
试试这个
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value