mysql:插入操作错误"数据太长"

时间:2017-01-23 01:06:25

标签: mysql

在mysql中

创建一个表:

CREATE TABLE fb_group_feed (
    Post_ID varchar(64), 
    Permalink varchar(128), 
    Create_time varchar(32), 
    Updated_time varchar(32), 
    Author varchar(32),
    Author_ID bigint, 
    Message text, 
    Link varchar(1024), 
    Likes int, 
    Comments int, 
    group_ID bigint, 
    foreign key(group_ID) references fb_group_info(ID)
)

在此表中插入一行数据时,出现错误:

INSERT INTO fb_group_feed VALUES (
    '1610393525875114_1842755835972214','https://www.facebook.com/groups/1610393525875114/permalink/1842755835972214/',
    '2017-01-22T17:12:41+0000','2017-01-23T00:45:16+0000','Chibura Hakkai',457297014658600,
    'Pretty hands he has... credit Wilma Alberti',
    'https://www.facebook.com/photo.php?fbid=466756323712669&set=gm.1842755835972214&type=3',   
    175,7,1610393525875114)

错误:

 Error 1406(22001): "Data too long for column 'Post_ID' at row 1")

但我已经设置了Post_ID' varchar(64),我认为它足够长了。你可以帮忙吗

1 个答案:

答案 0 :(得分:0)

您应该做的第一个事情是describe fb_group_feed,它将告诉您列的当前顺序,如果您没有明确指定这些列,则这是用于插入的顺序。根据{{​​3}}:

  

如果您没有为INSERT ... VALUESINSERT ... SELECT指定列名列表,则表中每列的值必须由VALUES列表或{{1}提供声明。如果您不知道表格中列的顺序,请使用SELECT查找。

或者(更安全)将使用显式形式:

DESCRIBE tbl_name