我想实现一个停车场应用程序,所以当司机停放他的车时,有一个有 5 个或更多停车场的车库,车库中的下一个空闲位置应该分配给他。
所以我有一个带有 5 个或更多插槽的桌面车库当我更新 updategarage set free = 0,set car = 1 (car_id) 时遇到问题,然后所有空闲插槽都已更新我如何限制只更新第一个空闲行?
谁能帮我
预先感谢(错误)谢谢我有车库表,每个级别都有级别和插槽当我停车时我只想更新免费插槽
您需要指定要更新的记录,否则数据库将更新所有记录。如果您正在寻找专门更新一条记录,您可能希望PRIMARY KEY
使用WHERE
子句引用它。
如果你没有PRIMARY KEY
为你的表分配一个,你可以使用 SQLite 的rowid
列。像这样的东西:
SELECT rowid FROM garage WHERE free = 1;
然后,假设您确定地点 5 对汽车 42 是免费的:
UPDATE garage SET free = 0, car = 42 WHERE rowid = 5;
如果您愿意,可以将这两个步骤组合成一个查询:
UPDATE garage SET free=0, car=42 WHERE rowid IN (SELECT rowid FROM garage WHERE free=1 LIMIT 1);