Files
cattleTransportation/tradeCattle/comprehensive_fix_xq_client_log_fields.sql
2025-10-24 17:32:42 +08:00

66 lines
2.4 KiB
SQL

-- 全面修复xq_client_log表字段长度问题
-- 解决Data truncation错误
-- 1. 检查当前字段长度
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION,
NUMERIC_SCALE,
IS_NULLABLE,
COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'xq_client_log'
ORDER BY ORDINAL_POSITION;
-- 2. 修改所有可能超长的字段
-- latitude字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN latitude VARCHAR(100) DEFAULT NULL COMMENT '纬度';
-- longitude字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN longitude VARCHAR(100) DEFAULT NULL COMMENT '经度';
-- device_voltage字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN device_voltage VARCHAR(100) DEFAULT NULL COMMENT '设备电量';
-- device_temp字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN device_temp VARCHAR(100) DEFAULT NULL COMMENT '设备温度';
-- server_device_id字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN server_device_id VARCHAR(100) DEFAULT NULL COMMENT '主机设备ID';
-- walk_steps字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN walk_steps BIGINT(20) DEFAULT NULL COMMENT '总步数';
-- y_walk_steps字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN y_walk_steps BIGINT(20) DEFAULT NULL COMMENT '昨日总步数';
-- create_time字段 - 确保正确类型
ALTER TABLE xq_client_log MODIFY COLUMN create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';
-- update_time字段 - 确保正确类型
ALTER TABLE xq_client_log MODIFY COLUMN update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
-- create_by字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN create_by VARCHAR(100) DEFAULT NULL COMMENT '创建人';
-- update_by字段 - 扩展长度
ALTER TABLE xq_client_log MODIFY COLUMN update_by VARCHAR(100) DEFAULT NULL COMMENT '更新人';
-- 3. 显示修改后的表结构
DESCRIBE xq_client_log;
-- 4. 验证修改结果
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION,
NUMERIC_SCALE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'xq_client_log'
AND COLUMN_NAME IN ('latitude', 'longitude', 'device_voltage', 'device_temp', 'server_device_id', 'walk_steps', 'y_walk_steps');