这是我的第一个餐桌问题。
CREATE TABLE "question" (
"question_id" serial NOT NULL,
"question" TEXT NOT NULL UNIQUE,
"added_at" TIMESTAMP NOT NULL,
"question_marks" integer NOT NULL,
CONSTRAINT "question_pk" PRIMARY KEY ("question_id"))
问题有很多选项,所以我用question_id
引用了每个选项行>
CREATE TABLE "option" ( "option_id" serial NOT NULL, "option" TEXT NOT NULL, "option_question_id" integer NOT NULL, "option_correct" BOOLEAN NOT NULL, CONSTRAINT "option_pk" PRIMARY KEY ("option_id")) ALTER TABLE "option" ADD CONSTRAINT "option_fk1" FOREIGN KEY ("option_question_id") REFERENCES "question"("question_id") ON DELETE CASCADE;
现在,如何在一个查询中更新两个表?
我正在构建一个API。以下给出的输出可供索取。该请求将回复问题详细信息和问题选项。
我能够更新问题,但是问题有很多选择,我该如何更新选项?
"questionDetails": [ { "question_id": 30, "question": "What is gravity of Saturn?", "added_at": "2020-02-20T18:30:00.000Z", "question_marks": 1 } ], "options": [ { "option_id": 19, "option": "20", "option_question_id": 30, "option_correct": true }, { "option_id": 20, "option": "30", "option_question_id": 30, "option_correct": false }, { "option_id": 21, "option": "40", "option_question_id": 30, "option_correct": false }, { "option_id": 18, "option": "400000000", "option_question_id": 30, "option_correct": false } ] }
现在可以更新此关系吗?
这是我的第一个餐桌问题。 CREATE TABLE“ question”(“ question_id”串行NOT NULL,“ question”文本NOT NULL UNIQUE,“ add_at” TIMESTAMP NOT NULL,“ question_marks”整数NOT NULL,CONSTRAINT ...
您可以使用具有返回子句的CTE在单个查询中将多个操作链接在一起。