我正在编写一个脚本来自动将车辆放置或“生成”到在线游戏(“DayZ”)中。我有一个表,其中包含我想添加到游戏世界的位置和车辆类型,但是我需要确保在要插入的位置处不存在车辆。如果是这样,我会跳过在该位置插入新车。
最初,我计划收集所有要添加的位置和车辆的记录集,然后循环遍历每个位置以确定该位置是否已被占用。
$sql = "SELECT location, vehicle_type from vehicles_to_add";
foreach ($conn->query($sql) as $row)
{
// Query the database to see if $row['location'] already exists
// in the vehicle_location table
if EXISTS then
Do not add
else
Add vehicle and location to the vehicle_location table
}
但是,在查看了一些示例之后,我想知道是否可以仅通过 SQL 完成某些事情。例如......也许类似于:
INSERT INTO vehicle_location
SELECT location, vehicle_type FROM vehicles_to_add
仅使用 SQL 的好处是我可以在数据库中创建一个事件以自行运行。但是,使用这种 SQL ONLY 方法,我不确定如何在添加另一辆车之前检查该位置是否已经存在。