mysql - 如何在数据库中实现列表

标签 mysql list path

我正在开发一个拼车网络应用程序,我需要管理每次骑行的路径: 一次乘车可能有多个站点。 示例:我从 A 城市前往 D 城市,途经 B 城市和 C 城市。我只能接载前往 D 的人,或者我什至可以接载前往 C 和 D 的人,中途停留并可能接载其他人。

我需要将其存储在 MySQL 数据库中。 我尝试使用链接列表,例如:

CREATE TABLE ordered_items (
    id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    city int NOT NULL,
    previous_item_id INT UNSIGNED NULL,
    FOREIGN KEY (previous_item_id) REFERENCES ordered_items(item_id),
    FOREIGN KEY (city) REFERENCES cities(id) 
);

CREATE TABLE offers(
       ...

   path INT NOT NULL,
   FOREIGN KEY (path) REFERENCES ordered_items(id)
);

但是我会有重复的。 还有其他解决办法吗?

最佳答案

我认为存储多个站点/GPS 位置的最佳方法是使用 MySQL Spatial Data Types而不是(列表),因为它的目的是存储几何或地理点。

关于mysql - 如何在数据库中实现列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59813327/

相关文章:

php - sql 列出带有左连接的游戏和总评论?

php - 防止 PHP MySQL 中的重复条目

python - 如何从一位整数列表创建两位数整数列表?

python - 将列表列表和 "distributing"元素从另一个列表获取到子列表的 Pythonic 方法是什么?

javascript - 将函数包含在 Handlebars.js 中

Python 导入在解释器中有效,在脚本 Numpy/Matplotlib 中不起作用

c# - 如何获取我的项目路径?

mysql - "Row cannot be located for updating"错误 [另一个]

python - 如何随机排列字典列表?

html - JSP 输入最小值 : how to +1 to a variable?