Php 为什么我总是在Codeigniter.2.1.2中得到表会话的重复值?

Php 为什么我总是在Codeigniter.2.1.2中得到表会话的重复值?,php,codeigniter,Php,Codeigniter,Codeigniter中的会话将自动生成,但为什么我总是这样复制值。我不明白如何找到那些问题 A Database Error Occurred Error Number: 1062 Duplicate entry '2147483647' for key 'PRIMARY' INSERT INTO `tb_session` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('b

Codeigniter中的会话将自动生成,但为什么我总是这样复制值。我不明白如何找到那些问题

A Database Error Occurred

Error Number: 1062

Duplicate entry '2147483647' for key 'PRIMARY'

INSERT INTO `tb_session` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('b74806cb089d1c9b090dd1455d320e42', '::1', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36', 1427507006, '')

Filename: D:\My data\project\wamp\www\Ecom\system\database\DB_driver.php

Line Number: 331
我还有其他的

A Database Error Occurred

Error Number: 1062

Duplicate entry '0' for key 'PRIMARY'

UPDATE `tb_session` SET `last_activity` = 1427511803, `session_id` = 'dde3dc48ecee1cd6650b2025ed819573' WHERE session_id = '33191cc74ea4a2dde501c770b0292f7c'

Filename: D:\My data\project\wamp\www\Ecom\system\database\DB_driver.php

Line Number: 331

您似乎已经修改了会话表,使主键为int(11)。原始CodeIgniter表将会话_id作为varchar主键

查看该查询是否尝试将“b74806cb089d1c9b090dd1455d320e42”作为会话id插入?这应该是主键的值,但您的错误是尝试插入“2147483647”值,该值甚至不在查询中

这让我相信,不知何故,你有另一个字段,它是一个整数作为主键,现在它已经达到了int(11)的最大值2147483647,所以它抛出了这个错误


解决方案:只需删除新的主键,将表恢复到原始结构,问题就会消失。您甚至不需要截断该表。

将sess\u regenate\u destroy设置为TRUE以修复该问题