我只想使用bookingid更新预订状态。
UPDATE flightbooking
SET status 'C' AS cancelledbooking
FROM flightbooking
WHERE bookingid = 10001;
我收到以下错误:
错误:“'C'或附近的语法错误” 第2行:SET状态'C'AS取消预订
任何帮助?
答案 0 :(得分:0)
您无法在更新语句中使用别名。
UPDATE flightbooking
SET status = 'C'
FROM flightbooking
WHERE bookingid = 10001;
答案 1 :(得分:0)
AS用于SELECT上下文中的别名,而不是UPDATE。
这将有效:
UPDATE flightbooking
SET status = 'C'
FROM flightbooking
WHERE bookingid = 10001;
答案 2 :(得分:0)
简单地:
UPDATE flightbooking SET status = 'C' WHERE bookingid = 10001
答案 3 :(得分:0)
我建议:
UPDATE flightbooking
SET status = 'C'
WHERE bookingid = 10001;
这应该适用于任何数据库,假设您有正确的表和列。
FROM
不一定是FROM
条款的一部分。此外,它的解释方式因数据库而异。修复SET
子句后,Postgres将更新所有行(我认为); SQL Server会更新匹配的行; Oracle和MySQL会产生错误。