我正在使用 apache derby jdbc(在 netbeans 7.2.1 中)我想创建具有复合主键的表(这样只有这 4 列值的组合是唯一的,并且它们中的每一个的值分别是不唯一的)
Create table MovieScreens(
NameM varchar(255) NOT NULL UNIQUE,
DateS DATE NOT NULL UNIQUE,
Hall NUMERIC NOT NULL UNIQUE,
HourS NUMERIC NOT NULL UNIQUE,
SEATSFREE varchar (500) NOT NULL,
FOREIGN KEY (Hall) REFERENCES Halls(Hall),
FOREIGN KEY (NameM) REFERENCES MoviesDetails(NAMEM),
**primary key (NameM , DateS,Hall,HourS)**
)
但似乎定义为主键的每一列本身就是主键,而不是复合键的一部分。当我尝试插入仅与这些值之一不同的行时,出现错误:
Error code -1, SQL state 23505: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index .
据我了解,netbeans 使用 MySQL 数据库,这应该是 MySQL 的正确语法,还是我错了?
任何输入将不胜感激,谢谢!