【发布时间】:2013-04-03 15:55:02
【问题描述】:
错误代码: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'
)
如果我们selectlength
SELECT LENGTH('Vikas Kumar Gupta Kratika Shukla Kritika Shukla')
'47'
它正在显示错误消息
错误代码:1406。数据对于列而言太长
但我的期望是,我想在表格中插入至少前 45 个字符
如果问题不清楚,请告诉我。
我知道这个错误的原因。我正在尝试插入超过数据类型长度的值。
我想要 MySQL 中的解决方案,因为它可能在 MS SQL 中。所以我希望它也可以在 MySQL 中。
【问题讨论】:
-
那么你想要做的是,如果值长于 45 个字符,你只想插入前 45 个字符?
-
查看这篇文章了解如何让 mysql 截断字段:stackoverflow.com/questions/1018954/…
-
您可以使用:SELECT CAST(('Vikas Kumar Gupta Kratika Shukla Kritika Shukla') AS CHAR)
标签: mysql sql sql-server