我想从另一个表更新一个表的所有列值,但它不起作用。
我收到此语法错误:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 'FROM silinecek s WHERE frameworkcode IN ('AR','CF','FA','IR','KT','SER',' SF','SR' 在第 3 行
这是我的查询
UPDATE marc_subfield_structure
SET liblibrarian = s.liblibrarian, libopac = s.libopac,
repeatable = s.repeatable, mandatory = s.mandatory,
kohafield = s.kohafield, tab = s.tab,
authorised_value = s.authorised_value, authtypecode = s.authtypecode,
value_builder = s.value_builder, isurl = s.isurl, hidden = s.hidden,
seealso = s.seealso, link = s.link, defaultvalue = s.defaultvalue,
maxlength = s.maxlength
FROM
silinecek s
WHERE
frameworkcode IN ('AR','CF','FA','IR','KT','SER','SF','SR','VR')
AND tagfield='952';
我应该怎么办?
多表更新的 MySQL 语法不包含
FROM
子句。因此 MySQL 会发出一条错误消息并告诉您该错误在FROM
子句附近,您应该查看手册。你的陈述应该是这样的:
但我不知道您的表的结构或查询的目的,所以这只是为了让您了解正确的语法。
您(可以)从
silinecek
. 这是不正确的,您必须确保获得一排且只有一排。这可以通过在 2 个表之间添加连接来获得。