使用mysql的串行外键
这些是我的桌子:使用mysql的串行外键,mysql,sql,foreign-keys,Mysql,Sql,Foreign Keys,这些是我的桌子: 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 (idUte
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)
);
我的问题是:我无法创建外键,因为idute1
是串行的
我试图在两个位置都添加自动增量,但这是不可能的。如何解决?串行是
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的别名
idute1
也必须是一个匹配项。除了自动增量
为表友谊尝试以下方法:
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)
);
是的,我知道,但如果我不添加自动增量,它就不起作用。