错误代码:1406。列的数据太长
CREATE TABLE `TEST`
(
`idTEST` INT NOT NULL ,
`TESTcol` VARCHAR(45) NULL ,
PRIMARY KEY (`idTEST`)
);
现在 Insert
一些值
INSERT INTO TEST
VALUES
(
1,
'Vikas'
)
select
SELECT * FROM TEST;
插入记录多于 length
INSERT INTO TEST
VALUES
(
2,
'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
)
如果我们 select
length
SELECT LENGTH('Vikas Kumar Gupta Kratika Shukla Kritika Shukla')
'47'
它显示错误消息
错误代码:1406。列的数据太长
但我的期望是,我想在 Table 中插入至少前 45 个字符
如果问题不清楚,请告诉我。
我知道这个错误的原因。我正在尝试插入超过数据类型长度的值。
我想要 MySQL 中的解决方案,因为它可能在 MS SQL
中。所以我希望它也可以在 MySQL 中。
原文由 vikas 发布,翻译遵循 CC BY-SA 4.0 许可协议
MySQL 将截断任何超过指定列宽的插入值。
要做到这一点而不会出错,请尝试将您的
SQL mode
切换为不使用STRICT
。Mysql参考手册
编辑:
改变模式
这可以通过两种方式完成:
my.ini
(Windows) 或my.cnf
(Unix) 文件,并查找文本“sql-mode”。寻找:
代码:
用。。。来代替:
代码:
或者
代码: