首页 文章

使用内部联接更新两个表

提问于
浏览
1

我有两个表,一个是 question ,另一个是 answer .

Question table 有字段为

question_id, question, type, answer_id.

Answer table 有字段为

answer_id, question_id, comment, rating, doctor_id

现在我想更新答案属于doctor_id所在的问题 . 为此我试着写这个查询:

update question q 
set q.question = 'dmvvnnv',a.comment = 'covonfvk',a.rating = 5 
INNER JOIN answer a on q.answer_id = a.answer_id 
WHERE a.doctor_id = 8

但它给了我语法错误:

1064 - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'INNER JOIN回答a q.answer_id = a.answer_id WHERE a.doctor_id = 8'附近使用正确的语法

2 回答

  • 2

    使用以下内容:

    UPDATE question q INNER JOIN answer a on q.answer_id = a.answer_id 
    SET q.question = 'dmvvnnv',a.comment = 'covonfvk',a.rating = 5
    WHERE a.doctor_id = 8
    
  • 1

    对于MySQL UPDATEJOIN 语法不同, SET 部分应该在 JOIN 之后

    使用以下查询更新条目:

    UPDATE question q
    INNER JOIN answer a ON a.answer_id = q.answer_id
    SET q.question = 'dmvvnnv'
        ,a.comment = 'covonfvk'
        ,a.rating = 5
    WHERE a.doctor_id = 8
    

相关问题