到目前为止,我已经手动创建了这样的表,我没有任何问题。
CREATE TABLE users (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
email VARCHAR(100) NOT NULL,
cityId BIGINT(20) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (id),
FOREIGN KEY (cityId)
REFERENCES cities (id));
现在,我使用mysql workbench为我生成sql脚本,sql脚本看起来有点不同。
CREATE TABLE users (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
email VARCHAR(100) NOT NULL,
cityId BIGINT(20) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (id),
CONSTRAINT cityId
FOREIGN KEY (cityId)
REFERENCES locations (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
我想知道这两个问题之间有没有区别。
1条答案
按热度按时间fd3cxomn1#
不需要为外键提供名称,如果不提供,则会为其指定一个自动生成的名称。话虽如此,这是一个很好的做法,将使您的维护工作更容易。