ERROR 1062(23000):键'PRIMARY'重复输入'1'

时间:2015-04-10 00:07:37

标签: mysql

我在使用Secure Shell进行项目时遇到了问题。即使我试图插入的表是空的,我得到上述错误。 我的工作包括:

CREATE TABLE LARGE_SLIP( 
        MARINA_NUM CHAR(4) PRIMARY KEY NOT NULL, 
        SLIP_NUM CHAR(4) NOT NULL, 
        RENTAL_FEE DECIMAL(8,2), 
        BOAT_NAME CHAR(50), 
        OWNER_NUM CHAR(4));
INSERT INTO LARGE_SLIP (
    SELECT MARINA_NUM, SLIP_NUM, RENTAL_FEE, BOAT_NAME, OWNER_NUM 
    FROM MARINA_SLIP WHERE LENGTH = '40');
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

我尝试查找答案,但大多数结果都表示我已尝试插入的表中已分配了一些内容。桌子是空的。我还在学习,这实际上是为了课堂作业。任何帮助表示赞赏

2 个答案:

答案 0 :(得分:0)

自己运行子查询,你得到dupe MARINA_NUM值吗?

SELECT MARINA_NUM, SLIP_NUM, RENTAL_FEE, BOAT_NAME, OWNER_NUM 
FROM MARINA_SLIP WHERE LENGTH = '40';

如果整个行重复,您可以使用UNIQUE。如果没有,您将需要找到另一种方法来限制具有重复MARINA_NUM值的行。

答案 1 :(得分:0)

我弄清楚问题是什么 为此问题创建表时,实际上创建了2个主键

CREATE TABLE LARGE_SLIP(         MARINA_NUM CHAR(4)NOT NULL,         SLIP_NUM CHAR(4)NOT NULL,         RENTAL_FEE DECIMAL(8,2),         BOAT_NAME CHAR(50),         OWNER_NUM CHAR(4),PRIMARY KEY(MARINA_NUM,SLIP_NUM));