这些是我的表格:
CREATE TABLE Utente (
ID serial primary key
name varchar(20)
);
CREATE TABLE friendship(
idUtente1 bigint NOT NULL UNIQUE UNSIGNED ,
idUtente2 bigint NOT NULL UNIQUE UNSIGNED ,
dataAmicizia date,
primary key (idUtente1,idUtente2),
FOREIGN KEY (idUtente1) REFERENCES Utente(ID),
FOREIGN KEY (idUtente2) REFERENCES Utente(ID)
);
我的问题是:我无法创建外键,因为idUtente1
是串行的。
我试图在两者上添加AUTO_INCREMENT,但这是不可能的。我怎么解决?
答案 0 :(得分:1)
SERIAL是BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
的别名。 http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html
idUtente1
也必须匹配。除了AUTO_INCREMENT。
尝试使用表格友谊:
CREATE TABLE friendship(
idUtente1 bigint UNSIGNED ,
idUtente2 bigint UNSIGNED ,
dataAmicizia date,
primary key (idUtente1,idUtente2),
FOREIGN KEY (idUtente1) REFERENCES Utente(ID),
FOREIGN KEY (idUtente2) REFERENCES Utente(ID)
);