如何解决错误代码:1406列的数据太长-MySQL
MysqL将截断任何超出指定列宽的插入值。
要使此没有错误,请尝试切换sql mode
为不使用STRICT
。
编辑:
改变模式
这可以通过两种方式完成:
找:
码:
# Set the sql mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
用。。。来代替:
码:
# Set the sql mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
要么
码:
SET @@global.sql_mode= '';
解决方法
错误代码: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。数据对于列而言太长
但是我的期望是,我想在表中至少插入前45个字符
如果问题不清楚,请告诉我。
我知道此错误的原因。我正在尝试插入比数据类型长度更多的值。
我想要MySQL中的解决方案,因为它可能在中MS SQL
。所以我希望它也会出现在 MySQL中 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。