使用phpMyAdmin执行UPDATE Inner Join语句时遇语法错误求排查
问题分析与修正
- 语法错误核心原因:你写的是SQL Server风格的
UPDATE FROM语法,但MySQL(phpMyAdmin默认关联的数据库)不支持这种写法,MySQL的UPDATE JOIN语法需要将JOIN子句直接放在UPDATE目标表之后。 - 额外注意:你的语句里
allbooks.bookEpub = books.bookEbook疑似笔误,应该是allbooks.bookEpub = books.bookEpub,否则会把epub字段错误赋值成ebook的内容。
修正后的正确语句:
UPDATE allbooks INNER JOIN books USING (bookAuthor, bookTitle) SET allbooks.bookCoverImage = books.bookCoverImage, allbooks.bookDescr = books.bookDescr, allbooks.bookEbook = books.bookEbook, allbooks.bookMobi = books.bookMobi, allbooks.bookEpub = books.bookEpub, -- 修正了此处的笔误 allbooks.bookEbookPrice = books.bookEbookPrice;
内容的提问来源于stack exchange,提问作者user23164474
相关产品推荐
相关产品推荐

