gpt4 book ai didi

php - fatal error key '1' 重复条目 'PRIMARY'

转载 作者:行者123 更新时间:2023-11-29 12:31:28 25 4
gpt4 key购买 nike

我尝试将数据库文件上传到我的服务器,但在导入时收到以下错误消息。我搜索过其他类似的问题,但不知道如何解决这个问题。

这是我收到的消息:

Error at the line 61: (2, 1, 2, 0, 'U', 1, 'Site');

查询:

INSERT INTO `mage_S3CUr3_admin_role` (`role_id`, `parent_id`, `tree_level`, `sort_order`, `role_type`, `user_id`, `role_name`) VALUES
(1, 0, 1, 1, 'G', 0, 'Administrators'),
(2, 1, 2, 0, 'U', 1, 'Site')

MySQL:键“PRIMARY”的重复条目“1”

这是表结构,我希望有人能帮助我解决这个问题并给我一个好的代码。

-- Tabelstructuur voor tabel `mage_S3CUr3_admin_role`
--

CREATE TABLE IF NOT EXISTS `mage_S3CUr3_admin_role` (
`role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Role ID',
`parent_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Parent Role ID',
`tree_level` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Role Tree Level',
`sort_order` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Role Sort Order',
`role_type` varchar(1) NOT NULL DEFAULT '0' COMMENT 'Role Type',
`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'User ID',
`role_name` varchar(50) NOT NULL DEFAULT '' COMMENT 'Role Name',
PRIMARY KEY (`role_id`),
KEY `IDX_OZSS_ADMIN_ROLE_PARENT_ID_SORT_ORDER` (`parent_id`,`sort_order`),
KEY `IDX_OZSS_ADMIN_ROLE_TREE_LEVEL` (`tree_level`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Admin Role Table' AUTO_INCREMENT=3 ;

--
-- Gegevens worden uitgevoerd voor tabel `mage_S3CUr3_admin_role`
--

编辑

我明白了

Error at the line 81: ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Admin Rule Table' AUTO_INCREMENT=2 ;

查询:

INSERT INTO `mage_S3CUr3_admin_role`
(`parent_id`, `tree_level`, `sort_order`, `role_type`, `user_id`, `role_name`) VALUES
(0, 1, 1, 'G', 0, 'Administrators'),
(1, 2, 0, 'U', 1, 'Site')
--
--
CREATE TABLE IF NOT EXISTS `mage_S3CUr3_admin_rule` (
`rule_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Rule ID',
`role_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Role ID',
`resource_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'Resource ID',
`privileges` varchar(20) DEFAULT NULL COMMENT 'Privileges',
`assert_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Assert ID',
`role_type` varchar(1) DEFAULT NULL COMMENT 'Role Type',
`permission` varchar(10) DEFAULT NULL COMMENT 'Permission',
PRIMARY KEY (`rule_id`),
KEY `IDX_OZSS_ADMIN_RULE_RESOURCE_ID_ROLE_ID` (`resource_id`,`role_id`),
KEY `IDX_OZSS_ADMIN_RULE_ROLE_ID_RESOURCE_ID` (`role_id`,`resource_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Admin Rule Table' AUTO_INCREMENT=2

MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `mage_S3CUr3_admin_rule` ( `rule_id` int(10) unsign' at line 9

最佳答案

不要指定 role_id - 因为它是一个 AUTO_INCRMENT 字段。

MySQL将为您提供一个唯一的role_id。

您可以使用LAST_INSERT_ID()来获取通过AUTO_INCRMENT插入到role_id中的值。您可以将其用于您的parent_id - 假设您想要获取前一个插入的role_id 值作为后续行的parent_id。您需要拆分插入内容。

在这里查看一个工作示例:http://sqlfiddle.com/#!2/9755b/1/0

INSERT INTO `mage_S3CUr3_admin_role` 
(`parent_id`, `tree_level`, `sort_order`, `role_type`, `user_id`, `role_name`)
VALUES
(LAST_INSERT_ID(), 1, 1, 'G', 0, 'Administrators');

INSERT INTO `mage_S3CUr3_admin_role`
(`parent_id`, `tree_level`, `sort_order`, `role_type`, `user_id`, `role_name`)
VALUES
(LAST_INSERT_ID(), 2, 0, 'U', 1, 'Site');

在这里查看一个工作示例:http://sqlfiddle.com/#!2/9755b/1/0

关于php - fatal error key '1' 重复条目 'PRIMARY',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27433027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com