我有下表(mariadb 10.4)称为p:
+----------------+----------------------------------------------------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+----------------------------------------------------------------------------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| description | text | YES | | NULL | |
| url | text | YES | | NULL | |
| source | enum('source_a','source_b','source_c','source_d','source_e') | YES | | NULL | |
我目前在这个表上有几百万行,其中有a、b、c和d。就在最近,我们应用了一个迁移来添加源代码,并开始出现错误 ERROR 1265 (01000): Data truncated for column 'source' at row 1
尝试插入包含源代码的行时。产生错误的所用命令如下: INSERT INTO p (description, url,
source) VALUES ('test', 'https://google.com.br', 'source_e');
与任何其他源的插入仍在工作。
编辑数据库中已存在的行时,行为会发生更改,错误不会显示: UPDATE
pSET
source='source_e' WHERE
id='3';
产量: Query OK, 1 rows affected (0.001 sec)
有没有办法调试这个场景?我已经尝试更改数据库的日志级别,以便更好地了解问题( SET GLOBAL log_warnings=3;
)但是错误信息没有改变。
我还试着改变 source_e
姓名收件人 source_e_
,错误仍然存在。
顺便说一句,我确实更改了字段的名称以符合公司的政策。
1条答案
按热度按时间6ie5vjzr1#
原来是我的错。我们碰巧在这个表的插入上有一个触发器,它提供了一个物化视图类型的表。我所要做的就是在另一个表的source字段中添加'source\ e'。