在MySQL里创建数据库

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 帧一行)

相关推荐
微学AI39 分钟前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql
2401_8845632442 分钟前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
kejiashao1 小时前
Android View的绘制流程及事件分发机制
android
haixingtianxinghai1 小时前
Redis真的是单线程吗?
数据库·redis·缓存
小蜜蜂嗡嗡1 小时前
flutter实现付费解锁内容的遮挡
android·flutter
进击的cc1 小时前
拒绝背诵!一文带你打穿 Android ANR 发生的底层全链路
android·面试
进击的cc2 小时前
App 启动优化全家桶:别再只盯着 Application 了,热启动优化你真的做对了吗?
android·面试
FirstFrost --sy2 小时前
MySQL复合查询
数据库·mysql
imuliuliang2 小时前
MySQL的底层原理与架构
数据库·mysql·架构
尽兴-2 小时前
Redis7 底层数据结构解析
数据结构·数据库·缓存·redis7