我有2个表费用和学生。我想用3个 WHERE 条件更新一个费用字段,即表'费用'中的2个条件和表'学生'中的1个条件。
我尝试了许多查询,例如
UPDATE fees, students SET fees.dues= 300 WHERE fees.month= November
AND fees.session= 2017-18 AND students.class= Nursery
它给我的错误如java.sql.SQLException: near",": syntax error
我使用sqlite作为数据库。请建议我查询或让我更正此查询。
由于
答案 0 :(得分:0)
您无法在SQLite中的UPDATE命令中连接表。因此,在where条件
中使用子查询UPDATE fees
SET dues = 300
WHERE
month = November AND
session = 2017-18 AND
student_id IN (SELECT id FROM students WHERE class=Nursery)
另外,我不确定列的类型。字符串文字必须用单引号(')括起来。表达式2017-18
将产生数字2017减18 = 1999.它是否应该是字符串文字?
UPDATE fees
SET dues = 300
WHERE
month = 'November' AND
session = '2017-18' AND
student_id IN (SELECT id FROM students WHERE class='Nursery')