【发布时间】:2013-09-24 16:47:30
【问题描述】:
我编写了一个 MySQL 脚本来为假设的医院记录创建一个数据库并用数据填充它。其中一个表 Department 有一个名为 Description 的列,它被声明为 varchar(200) 类型。执行描述的 INSERT 命令时出现错误:
错误 1406:第 1 行的“描述”列的数据太长。
我插入的所有字符串都少于 150 个字符。
声明如下:
CREATE TABLE Department(
...
Description varchar(200)
...);
这是插入命令:
INSERT INTO Department VALUES
(..., 'There is some text here',...), (..., 'There is some more text over here',...);
从表面上看,这应该是可行的。有人有什么见解吗?
【问题讨论】:
-
你的字符串是多字节 UTF-8 吗?
-
可能涉及空白。数据从何而来?
-
表引擎:myisam、innodb 还是哪一个?
-
我之前遇到过这个错误,因为一个未转义的撇号
-
@STTLCU - 这是 InnoDB