-- 紧急修复xq_client_log表字段长度问题
-- 解决Data truncation错误，确保数据能正常插入

-- 1. 检查当前字段长度
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');

-- 2. 修改所有字段长度为更大的值
ALTER TABLE xq_client_log MODIFY COLUMN latitude VARCHAR(500) DEFAULT NULL COMMENT '纬度';
ALTER TABLE xq_client_log MODIFY COLUMN longitude VARCHAR(500) DEFAULT NULL COMMENT '经度';
ALTER TABLE xq_client_log MODIFY COLUMN device_voltage VARCHAR(500) DEFAULT NULL COMMENT '设备电量';
ALTER TABLE xq_client_log MODIFY COLUMN device_temp VARCHAR(500) DEFAULT NULL COMMENT '设备温度';
ALTER TABLE xq_client_log MODIFY COLUMN server_device_id VARCHAR(500) DEFAULT NULL COMMENT '主机设备ID';

-- 3. 验证修改结果
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH
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');

-- 4. 清空表并准备重新同步
TRUNCATE TABLE xq_client_log;

-- 5. 检查表是否为空
SELECT COUNT(*) as record_count FROM xq_client_log;
