我根本无法弄清楚出了什么问题。尝试将数据插入表[ 1062 ]: Duplicate entry '0' for key 'PRIMARY'
时,我得到category_names
。我已检查专栏ID
是AUTO INCREMENT
和PRIMARY
键。
我不能从insert语句中省略列名ID
,它会起作用吗?
它在另一个托管平台上工作但是因为我搬到了siteground我遇到了这个奇怪的错误。
我知道列名称accessbile是一个保留关键字,但更改它并没有什么区别。
表格结构:
CREATE TABLE IF NOT EXISTS `category_names` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '0',
`locale_id` int(11) NOT NULL,
`status` enum('1','0') NOT NULL DEFAULT '1',
`accessible` enum('1','0') NOT NULL DEFAULT '1',
`type` int(11) NOT NULL,
`filter` int(11) NOT NULL,
`offer_image` varchar(255) NOT NULL DEFAULT 'none',
`uri` varchar(255) NOT NULL,
`browser_title` varchar(255) NOT NULL,
`meta_description` text NOT NULL,
`meta_keywords` text NOT NULL,
`title` varchar(255) NOT NULL,
`description` text NOT NULL,
`extra1` text NOT NULL,
`extra2` text NOT NULL,
`extra3` text NOT NULL,
`extra4` text NOT NULL,
`offer` int(11) NOT NULL,
`offer_activate` int(11) NOT NULL,
`offer_product` varchar(255) NOT NULL,
`offer_product_qty` int(11) NOT NULL,
`offer_percent` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=685;
错误:
Database_Exception [ 1062 ]: Duplicate entry '0' for key 'PRIMARY' [ INSERT INTO `category_names` (`category_id`, `locale_id`, `status`, `accessible`, `type`, `filter`, `offer_image`, `uri`, `browser_title`, `meta_description`, `meta_keywords`, `title`, `description`, `extra1`, `extra2`, `extra3`, `extra4`, `offer`, `offer_activate`, `offer_product`, `offer_product_qty`, `offer_percent`) VALUES (724, 1, '1', '1', '0', '0', 'none', 'test2', '', '', '', 'test2', '', '', '', '', '', '1', 0, '', 0, 0) ]
更新
我删除了该表上的触发器。它似乎解决了这个问题。将再测试一下。