首页 > 解决方案 > 重复的主键条目

问题描述

我正在尝试使用以下 SQL 为投票和投票答案创建 2 个表。我收到错误“键'PRIMARY”的重复条目'1'。任何帮助表示赞赏。

CREATE DATABASE IF NOT EXISTS `phppoll` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `phppoll`;

CREATE TABLE IF NOT EXISTS `polls` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `title` text NOT NULL,
    `desc` text NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

INSERT INTO `polls` (`id`, `title`, `desc`) VALUES (1, 'What''s your favorite way to browse?', '');

INSERT INTO `polls` (`id`, `title`, `desc`) VALUES (2, 'What''s your favorite way to use tech?', '');

CREATE TABLE IF NOT EXISTS `poll_answers` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `poll_id` int(11) NOT NULL,
    `title` text NOT NULL,
    `votes` int(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

INSERT INTO `poll_answers` (`id`, `poll_id`, `title`, `votes`) VALUES (1, 1, 'Laptop', 0), (2, 1, 'Desktop', 0), (3, 1, 'Tablet', 0), (4, 1, 'Other', 0);

INSERT INTO `poll_answers` (`id`, `poll_id`, `title`, `votes`) VALUES (2, 1, 'Laptop', 0), (2, 2, 'Desktop', 0), (2, 3, 'Tablet', 0), (2, 4, 'Other', 0);

标签: mysqlsql

解决方案


我认为如果您尝试INSERT IGNORE它可能会对您有所帮助,请访问此处了解更多详细信息:

https://www.mysqltutorial.org/mysql-insert-ignore/


推荐阅读