SQLite3根据另一个表中的选择查询更新一行



基本上,我试图找到一种方法来更新与client_drivers_license_number相关联的车辆预订状态,因为它与我将在laravel项目(下面的123456789)上输入的变量相匹配。我不确定如何与多个表匹配的值进行更新,所以我最好的尝试是下面,所以我可以解释我想做什么的想法。

UPDATE SET vehicle.is_booked = 0
FROM booking, vehicle
WHERE booking.vehicle_rego = vehicle.rego and booking.client_drivers_license_number = 123456789;

谢谢你的帮助。

您可以使用exists:

UPDATE vehicle
SET is_booked = 0
WHERE EXISTS (SELECT 1
FROM booking b
WHERE b.vehicle_rego = vehicle.rego AND  
b.client_drivers_license_number = 123456789
);

booking可用时,您将设置is_booked = 0似乎很奇怪。但话说回来,这个查询中根本没有日期或时间似乎很奇怪。

最新更新