我遇到了经典的初学者错误。好像我做了一个没有WHERE子句的UPDATE。
这是SQL:
"UPDATE teams SET description = ? " +
"FROM teams t " +
"JOIN team_memberships tm ON t.id = tm.team_id " +
"JOIN users u ON tm.user_id = u.id " +
"WHERE t.id = ? AND u.uid = ?";
尽管WHERE t.id =? SQL仍然更新整个表。
......你能看到问题吗?
答案 0 :(得分:2)
试试这个,
UPDATE teams AS t
SET description = ?
FROM team_memberships tm
JOIN users u ON tm.user_id = u.id
WHERE t.id = tm.team_id AND
t.id = ? AND u.uid = ?
请在执行上述语句之前先备份您的数据库
答案 1 :(得分:0)
使用select语句运行查询。 您将看到它将返回所有值。
在第一次加入时使用左连接,它应该可以解决您的问题。