2

I have no idea what the problem is. Any thoughts? I tried to update my first_q column from gradings table.

UPDATE gradings g set g.first_q = 90 FROM gradings
INNER JOIN subjects ss
on ss.subject_id = g.subject_id
INNER JOIN students s
ON s.id = g.student_id
INNER JOIN school_years sy
on sy.id = g.sy_id
INNER JOIN teachers t
on t.id = g.teacher_id
WHERE s.id = 1;
mrgx
  • 35
  • 1
  • 7

2 Answers2

8

The syntax is wrong. Maybe you should try something like this:

UPDATE gradings g 
INNER JOIN subjects ss ON ss.subject_id = g.subject_id
INNER JOIN students s ON s.id = g.student_id
INNER JOIN school_years sy ON sy.id = g.sy_id
INNER JOIN teachers t ON t.id = g.teacher_id
set g.first_q = 90
WHERE s.id = 1;

MySQL Update Inner Join tables query

Ankit Jindal
  • 3,672
  • 3
  • 25
  • 37
Wellington Lorindo
  • 2,405
  • 19
  • 21
0

I believe you can just remove the FROM gradings and put the JOINs before the SET

CptMisery
  • 612
  • 4
  • 15