MariaDB多表关联UPDATE语法错误求助:实现字段乘积更新
关联表更新字段的正确MariaDB语法
你的SQL语句报错是因为MariaDB(兼容MySQL)的UPDATE关联表语法不支持FROM子句的写法,需要采用UPDATE ... JOIN ... SET ... WHERE ...的标准格式。
正确的SQL语句如下:
UPDATE passenger_baggage JOIN baggage_type ON passenger_baggage.passenger_baggage_id = baggage_type.baggage_type_id SET passenger_baggage.total_baggage_cost = passenger_baggage.passenger_baggage_quantity * baggage_type.baggage_type_cost WHERE passenger_baggage.passenger_id = '3';
关键说明:
- MariaDB/MySQL的关联更新语法需将
JOIN直接跟在目标表后,无需额外的FROM子句 - 在
WHERE子句中明确指定字段所属的表,避免多表间字段重名导致的歧义 - 字符串类型的字段值使用单引号是SQL标准写法,兼容性更强
执行这条语句后,就能将passenger_id为"3"的记录中,passenger_baggage_quantity与关联的baggage_type_cost相乘的结果,更新到total_baggage_cost字段中。
内容的提问来源于stack exchange,提问作者SoftwareDude0101
相关产品推荐
相关产品推荐

