Mysql can';不创建外键约束

Mysql can';不创建外键约束,mysql,foreign-keys,Mysql,Foreign Keys,我得到这个错误: {外键约束格式不正确} 我想在user1和user2之间建立一个链接。从哪里得到这个错误?这根本不像MySQL错误那样格式化。此外,您的语法没有问题。你的质疑应该会成功,我同意;您的语法看起来是正确的,所以它可能是如何应用的。尝试一个更简单的约束(例如,一个外键,没有限制),看看是否会出现相同的错误。然后从那里开始建立,直到找到触发它的因素。此外,您还可以直接针对正在使用的数据库尝试此sql,以查看其是否有效。请验证用户表中的Dev\u ID字段是否也是varchar(50)。

我得到这个错误:

{外键约束格式不正确}


我想在user1和user2之间建立一个链接。

从哪里得到这个错误?这根本不像MySQL错误那样格式化。此外,您的语法没有问题。你的质疑应该会成功,我同意;您的语法看起来是正确的,所以它可能是如何应用的。尝试一个更简单的约束(例如,一个外键,没有限制),看看是否会出现相同的错误。然后从那里开始建立,直到找到触发它的因素。此外,您还可以直接针对正在使用的数据库尝试此sql,以查看其是否有效。请验证用户表中的
Dev\u ID
字段是否也是varchar(50)。外键字段也必须有相同的定义。你能为用户表发布你的创建SQL吗?我修复了它。用户表的字符集为utf8。我只是把共享也改为utf8
CREATE TABLE share(
    `User_1` VARCHAR(50) NOT NULL,
    `User_2` VARCHAR(50) NOT NULL,
    PRIMARY KEY(`User_1`,`User_2`),
     CONSTRAINT `fk_1` FOREIGN KEY (`User_1`) REFERENCES user(`Dev_ID`)  ON DELETE RESTRICT ON UPDATE CASCADE ,
     CONSTRAINT `fk_2` FOREIGN KEY (`User_2`) REFERENCES user(`Dev_ID`)  ON DELETE RESTRICT ON UPDATE CASCADE 
);