CREATE DATABASE IF NOT EXISTS parking_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
USE parking_db;

建一个用于存储车位当前状态的表

CREATE TABLE IF NOT EXISTS parking_slot (
id INT PRIMARY KEY, — 车位ID(1,2,3,…)
x INT NOT NULL,
y INT NOT NULL,
w INT NOT NULL,
h INT NOT NULL,
is_free TINYINT(1) NOT NULL, — 1=空,0=占用
pixel_count INT NOT NULL,
updated_at DATETIME NOT NULL
);

新建历史记录表 parking_slot_history

在 MySQL 里(已经 USE parking_db; 之后)再执行下面这段 SQL:
CREATE TABLE IF NOT EXISTS parking_slot_history (
id BIGINT AUTO_INCREMENT PRIMARY KEY, — 历史记录ID
slot_id INT NOT NULL, — 对应车位ID
x INT NOT NULL,
y INT NOT NULL,
w INT NOT NULL,
h INT NOT NULL,
is_free TINYINT(1) NOT NULL, — 1=空,0=占用
pixel_count INT NOT NULL,
recorded_at DATETIME NOT NULL,
INDEX idx_slot_time (slot_id, recorded_at)
— 如需要外键,可启用下面一行(InnoDB 下)
— ,FOREIGN KEY (slot_id) REFERENCES parking_slot(id) ON DELETE CASCADE
);

parking_slot:保存当前最新状态(每个车位 1 行)

parking_slot_history:保存时间序列历史(每一帧 / 每 N 帧一行)

— 用户表:用户名唯一,密码加密存储
CREATE TABLE IF NOT EXISTS users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT ‘主键ID’,
username VARCHAR(50) NOT NULL UNIQUE COMMENT ‘用户名’,
password_hash VARCHAR(255) NOT NULL COMMENT ‘密码哈希’,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘注册时间’,
last_login TIMESTAMP NULL DEFAULT NULL COMMENT ‘最后登录时间’
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

版权声明:本站除特别标注外的所有源码与资料均为原创,受《中华人民共和国著作权法》等相关法律保护。未经本站事先书面许可,任何个人或机构不得以复制、转载、爬取、汇编、改写、引用等方式使用本站内容,不得将本站内容发布或用于任何形式的商业活动。对未经授权使用本站内容的行为,本站保留追究法律责任的权利,包括但不限于要求删除、赔偿、诉讼等。如认为本站内容侵犯其合法权益,请提供权属证明并联系我们,我们将在核实后依法及时处理。