【概述】SQL 错误 [1292] [22001]: Data truncation: Incorrect date value: ‘0000-00-00’
【背景】update tbs_m_cust_sg_brand_sum set c_date=concat(c_year,’-’,c_month,’-1’);
【现象】不能更新数据
【业务影响】
update在tidb4执行OK,5执行报错
【TiDB 版本】
v5.1.0
【附件】
【概述】SQL 错误 [1292] [22001]: Data truncation: Incorrect date value: ‘0000-00-00’
【背景】update tbs_m_cust_sg_brand_sum set c_date=concat(c_year,’-’,c_month,’-1’);
【现象】不能更新数据
【业务影响】
update在tidb4执行OK,5执行报错
【TiDB 版本】
v5.1.0
【附件】
tbs_m_cust_sg_brand_sum
c_date
date NOT NULL COMMENT ‘年月’ AFTER c_no
;
麻烦对比下二者的sql_mode
重现脚本:
CREATE TABLE test_2021070101 ( c_sort int );
INSERT INTO test_2021070101 VALUES (1);
INSERT INTO test_2021070101 VALUES (2);
INSERT INTO test_2021070101 VALUES (3);ALTER TABLE test_2021070101 ADD COLUMN c_date date NOT NULL AFTER c_sort;
UPDATE test_2021070101
SET c_date ='2021-07-01'
;
增加字段进加上默认值就OK
ADD COLUMN c_date
date NOT NULL default ‘1900-1-1’ COMMENT ‘年月’ AFTER c_no
;
show variables like ‘%sql_mode%’,方便查下贴出来么