1
CREATE TABLE `myenv` (
`userid` int(11) NOT NULL,
`envid` int(11) NOT NULL,
CONSTRAINT `fk` FOREIGN KEY (`envid``) REFERENCES `envtable` (`id`),
CONSTRAINT `fk` FOREIGN KEY (`userid``) REFERENCES `usertable` (`id`)
) ENGINE=InnoDB
上表已經有兩列有兩個外鍵。Mysql添加主鍵
現在我打算在下面的兩列上添加主鍵而不刪除外鍵。
見下面的新代碼:
CREATE TABLE `myenv` (
`userid` int(11) NOT NULL,
`envid` int(11) NOT NULL,
PRIMARY KEY (userid`,envid`),
CONSTRAINT `fk` FOREIGN KEY (`envid``) REFERENCES `envtable` (`id`),
CONSTRAINT `fk` FOREIGN KEY (`userid``) REFERENCES `usertable` (`id`)
) ENGINE=InnoDB
這是正確的代碼?請讓我知道它應該工作與否?
「這是正確的代碼?」...你爲什麼不簡單地嘗試它? – arkascha
喲在一行中有兩個反引號,兩個外鍵引用不應該有相同的名稱。 –
您可以直接從舊錶中更改它:ALTER TABLE'myenv' ADD PRIMARY KEY('userid','envid'); –