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