从perl插入mysql时的dup条目

bdi*_*zle 0 mysql perl insert dbi

我正在从perl插入一个mysql数据库.我在第一次插入后得到重复错误.这是我用于插入的代码.我正在从json的回复中提取一个id.我输出了我在代码下面收到的内容

  foreach my $listing(@{$json_text->{listings}})
    {
      my $id = $listing->{id};
   print "\nid = $id \n";


    # DO THE INSERT
    my $query_insert = "INSERT INTO calendar (id) VALUES ($id)";
    print "query insert = $query_insert \n";
    my $query = $db->do($query_insert); 
   print "query = $query \n";

    } #end foreach
Run Code Online (Sandbox Code Playgroud)

这是我收到的输出.(返回没有复制到右边.所以下面看起来,但正确的数据在那里).这就像133 my $ query = $ db-> do($ query_insert);

id = 2576246314 query insert = INSERT INTO calendar(id)VALUES(2576246314)query = 1

id = 2576246678 query insert = INSERT INTO calendar(id)VALUES(2576246678)DBD :: mysql :: db do failed:在./calendar_run.pl第133行为'PRIMARY'键复制条目'2147483647'.query =

id = 2576246781 query insert = INSERT INTO calendar(id)VALUES(2576246781)DBD :: mysql :: db do failed:在./calendar_run.pl第133行的键'PRIMARY'复制条目'2147483647'.query =

id = 2576247610 query insert = INSERT INTO calendar(id)VALUES(2576247610)DBD :: mysql :: db do failed:在./calendar_run.pl第133行的键'PRIMARY'复制条目'2147483647'.query =

id = 2576247737 query insert = INSERT INTO calendar(id)VALUES(2576247737)DBD :: mysql :: db do failed:在./calendar_run.pl第133行为'PRIMARY'键复制条目'2147483647'.query =

id = 2576247756 query insert = INSERT INTO calendar(id)VALUES(2576247756)DBD :: mysql :: db do failed:在./calendar_run.pl第133行,为'PRIMARY'键复制条目'2147483647'.query =

id = 2576247766 query insert = INSERT INTO calendar(id)VALUES(2576247766)DBD :: mysql :: db do failed:在./calendar_run.pl第133行,为'PRIMARY'键复制条目'2147483647'.query =

id = 2576248369 query insert = INSERT INTO calendar(id)VALUES(2576248369)DBD :: mysql :: db do failed:在./calendar_run.pl第133行为'PRIMARY'键复制条目'2147483647'.query =

id = 2576248388 query insert = INSERT INTO calendar(id)VALUES(2576248388)DBD :: mysql :: db do failed:在./calendar_run.pl第133行的键'PRIMARY'复制条目'2147483647'.query =

id = 2576248660 query insert = INSERT INTO calendar(id)VALUES(2576248660)DBD :: mysql :: db do failed:在./calendar_run.pl第133行的键'PRIMARY'复制条目'2147483647'.query =

id = 2576249706 query insert = INSERT INTO calendar(id)VALUES(2576249706)DBD :: mysql :: db do failed:在./calendar_run.pl第133行为'PRIMARY'键复制条目'2147483647'.query =

id = 2576250254 query insert = INSERT INTO calendar(id)VALUES(2576250254)DBD :: mysql :: db do failed:在./calendar_run.pl第133行的键'PRIMARY'复制条目'2147483647'.query =

Set*_*son 7

听起来id的类型太短了.该值(2147683647)是最大有符号32位整数值.尝试使用更大的ID.