解决MySQL SQL语句出现#1093错误
今天遇到一个MySQL SQL语句问题 #1093,需要记录一下。 我使用了这样一个SQL: UPDATE `student_quiz_answer` SET `article_id`= (SELECT qa.article_id, sqa.answer_id FROM student_quiz_answer sqa LEFT JOIN `quiz_answer` qa ON sqa.answer_id = qa.ans
今天遇到一个MySQL SQL语句问题 #1093,需要记录一下。
我使用了这样一个SQL:
UPDATE `student_quiz_answer` SET `article_id`= (SELECT qa.article_id, sqa.answer_id FROM student_quiz_answer sqa LEFT JOIN `quiz_answer` qa ON sqa.answer_id = qa.answer_id where qa.article_id > 0)
问题来自MySQL更新Table某个字段时,如果 Update 值中存在自身Table 的 Select 就会遇到这个错误提示:
#1093 – You can’t specify target table ‘student_quiz_answer’ for update in FROM clause
但是SQL的 Update 值又必须根据当前Table的字段进行查询。
解决方法
把 Update 值作为一个新 Table,比如 t2,本身 table 别名为 t1。条件子句就是 t1 和 t2 的关联值相等。
于是修改为这样一个 SQL 语句:
UPDATE `student_quiz_answer` t1, (SELECT qa.article_id, sqa.answer_id FROM student_quiz_answer sqa LEFT JOIN `quiz_answer` qa ON sqa.answer_id = qa.answer_id where qa.article_id > 0) t2 SET t1.`article_id`= t2.article_id WHERE t1.answer_id = t2.answer_id
OK了,相当于弄个临时表,再弄个别名,再进行更新。
(...)
Read the rest of 解决MySQL SQL语句出现#1093错误 (1 words)
© lixiphp for LixiPHP, 2013. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: #1093, SQL, Update
Feed enhanced by Better Feed from Ozh

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Windows Update 更新提示Error 0x8024401c錯誤的解決方法

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤
