STM32驱动TMC2209 UART通信实战:CRC校验与寄存器读写详解
2026/9/28 21:27:59
重点:
DEFAULT (函数()),括号不能省略;只有CURRENT_TIMESTAMP特例可以不带括号。
| 默认表达式 | 适用字段类型 | 说明 | 建表示例 |
|---|---|---|---|
UUID() | CHAR(36) / VARCHAR(36) | 生成字符串形式UUID,插入自动生成唯一字符串 | uuid_str CHAR(36) DEFAULT (UUID()) |
UUID_TO_BIN(UUID()) | BINARY(16) | UUID转二进制,节省存储空间,查询更快 | uuid_bin BINARY(16) DEFAULT (UUID_TO_BIN(UUID())) |
BIN_TO_UUID(二进制uuid) | CHAR(36) | 二进制UUID转回字符串(一般不作为默认值,多用于查询) | - |
RAND() | FLOAT / DOUBLE | 0~1之间随机浮点数 | rand_num FLOAT DEFAULT (RAND()) |
JSON_ARRAY() | JSON | 默认空JSON数组[] | json_arr JSON DEFAULT (JSON_ARRAY()) |
JSON_OBJECT() | JSON | 默认空JSON对象{} | json_obj JSON DEFAULT (JSON_OBJECT()) |
DATABASE() | VARCHAR | 当前数据库名 | db_name VARCHAR(64) DEFAULT (DATABASE()) |
CURRENT_USER() | VARCHAR | 当前认证登录用户(user@host) | login_user VARCHAR(100) DEFAULT (CURRENT_USER()) |
SYSTEM_USER() | VARCHAR | 同USER(),客户端连接账号 | conn_user VARCHAR(100) DEFAULT (SYSTEM_USER()) |
CONNECTION_ID() | INT | 当前会话连接ID | conn_id INT DEFAULT (CONNECTION_ID()) |
POINT(0,0) | POINT(空间几何) | 空间点默认坐标(0,0) | loc POINT DEFAULT (POINT(0,0)) |
| 默认值 | 适用类型 | 业务用途 |
|---|---|---|
NULL | 任意允许NULL字段 | 未赋值为null |
'' | VARCHAR / CHAR | 空字符串(推荐业务常用) |
0 | TINYINT/INT/BIGINT/DECIMAL | 数字默认0,状态、数量 |
0.00 | DECIMAL(10,2) | 金额默认0 |
TRUE/FALSE | BOOLEAN(底层是TINYINT) | 布尔标记,等价1/0 |
'固定文本' | VARCHAR/CHAR | 固定枚举字符串,如'normal' |
| 枚举第一个值 | ENUM | ENUM默认是枚举列表第一项 |
DEFAULT (UUID())直接报错,5.7要UUID只能应用层生成。text_col TEXT DEFAULT ('')。CREATETABLEdemo(idINTPRIMARYKEYAUTO_INCREMENT,uuid_strCHAR(36)DEFAULT(UUID()),uuid_binBINARY(16)DEFAULT(UUID_TO_BIN(UUID())),random_valFLOATDEFAULT(RAND()),meta_json JSONDEFAULT(JSON_ARRAY()),created_dbVARCHAR(64)DEFAULT(DATABASE()),operatorVARCHAR(100)DEFAULT(CURRENT_USER()),statusTINYINTDEFAULT0,remarkVARCHAR(255)DEFAULT'');