外卖配送地址管理sql怎么写
时间: 2023-11-18 12:02:55 浏览: 25
这个问题需要根据具体的数据库结构和业务需求来设计,这里给出一个简单的外卖配送地址管理的 SQL 设计:
1. 用户信息表 User:
```
CREATE TABLE User (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
phone VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL
);
```
2. 配送地址表 Address:
```
CREATE TABLE Address (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
address VARCHAR(100) NOT NULL,
latitude FLOAT NOT NULL,
longitude FLOAT NOT NULL,
is_default BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES User(id)
);
```
以上 SQL 设计包括两张表,一张是用户信息表 User,另一张是配送地址表 Address。用户信息表中记录了用户的基本信息,如姓名、电话、密码等。配送地址表中记录了用户的配送地址,包括用户ID、配送地址、纬度、经度、是否为默认地址、创建时间等字段。其中,is_default 字段用于标记是否为用户的默认地址。
查询用户的配送地址可以使用如下 SQL:
```
SELECT * FROM Address WHERE user_id = {user_id};
```
查询用户的默认配送地址可以使用如下 SQL:
```
SELECT * FROM Address WHERE user_id = {user_id} AND is_default = TRUE;
```
更新用户的默认配送地址可以使用如下 SQL:
```
UPDATE Address SET is_default = FALSE WHERE user_id = {user_id};
UPDATE Address SET is_default = TRUE WHERE id = {address_id};
```
删除用户的配送地址可以使用如下 SQL:
```
DELETE FROM Address WHERE id = {address_id};
```