Database Perl CGI::Session,具有相同ID的多个会话,MySQL驱动程序

Database Perl CGI::Session,具有相同ID的多个会话,MySQL驱动程序,database,perl,session,cgi,Database,Perl,Session,Cgi,我对CGI::Session有一些问题 我尝试使用cgi对象传递的现有会话id创建一个新会话。通常情况下,会话应该重用数据库中现有的会话,但事实并非如此。相反,它创建一个具有完全相同会话id的新会话数据库条目 以下是我的代码的相关部分: CGI::Session->name("DCGISESSID"); $session = CGI::Session->new('driver:mysql', $cgi, { TableName=>'DSESSIONS

我对CGI::Session有一些问题

我尝试使用cgi对象传递的现有会话id创建一个新会话。通常情况下,会话应该重用数据库中现有的会话,但事实并非如此。相反,它创建一个具有完全相同会话id的新会话数据库条目

以下是我的代码的相关部分:

CGI::Session->name("DCGISESSID");


$session = CGI::Session->new('driver:mysql', $cgi,
    {
        TableName=>'DSESSIONS',
        IdColName=>'id',
        DataColName=>'a_session', 
        Handle=>$dbh,
    });


$sessioncookie = CGI::Cookie->new(-name=>'DCGISESSID', -value=>$session->id, -expires=>'+1h', -path=>'/');
只要我不使用name()方法设置cookie名称并使用默认值CGISESSID作为cookiename,代码就可以工作。但由于某种原因,在使用CGI::Session->name(“DCGISESSID”)将其更改为DCGISESSID之后;它不起作用


是否有人遇到了同样的问题或有什么建议给我?

解决了问题。我将表配置为false,这就是id不是主键的原因