发生的情况是我试图在 phpMyadmin 中创建一个表,我必须在其中放置一个作为 muncipio 主键的外键,但我收到此错误 #1072 - 表中不存在键列“idMunicipio”,它事实证明,该表被称为自治市,如下所示:
它确实是一个主键
我尝试输入这样的句子:
CREATE TABLE clientes(
idClientes INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(idClientes),
ccCliente INT,
Nombres VARCHAR(50),
Apellidos varchar (50),
Email varchar(50),
Telefono varchar(50),
fechaRegistro date,
Usuario varchar(50),
Password varchar(50),
FOREIGN KEY(idMunicipio)REFERENCES municipio(idMunicipio))
但我得到了错误,我什至用外键制作了表,它对我有用,我用我有的例子做了它,它也没有给我系统?
我认为你需要
idMunicipio
在你的表中定义你只引用表的字段municipio
例子:
错误的详细信息是:
您的外键
idMunicipio
必须在实体中显式声明,clientes
以便在您尝试建立它之间的链接Municipios
时可以构造它。你应该这样进行:
市政实体必须有一个主键(你在声明它时已经有了它
idMunicipio
)实体
clientes
必须有一个列作为我们可以调用的外键,municipio_id
并且必须与前一点中提到的主调用具有相同的数据类型和长度(这还没有完成),所以就在你的位置之后声明该列password
,您必须输入以下内容稍后您创建约束以连接两个声明外键的表(这已经完成)
可选:
我建议您使用名称声明约束,以便稍后您可以更轻松地识别其中的链接实体,它可能如下所示:
最后变成这样:
参考