Mysql 如何创建外键?

Mysql 如何创建外键?,mysql,Mysql,我正在尝试从users表创建外键“idUsers”。我希望能够在我的多媒体资料表中使用它。每当我尝试时,都会出现错误: #1005-无法创建表useraccountsusers(错误号:150“外键约束格式不正确”) 我希望它创建表,但实际输出是错误的: #1005-无法创建表useraccountsusers(错误号:150“外键约束格式不正确”) 看起来外键引用了同一表中的同一列。您的意思是创建主键吗 外键引用了另一个表中的列。看起来像是外键引用了同一个表中的同一列。您的意思是创建主键吗 外

我正在尝试从users表创建外键“idUsers”。我希望能够在我的多媒体资料表中使用它。每当我尝试时,都会出现错误:

#1005-无法创建表
useraccounts
users
(错误号:150“外键约束格式不正确”)

我希望它创建表,但实际输出是错误的:

#1005-无法创建表
useraccounts
users
(错误号:150“外键约束格式不正确”)


看起来外键引用了同一表中的同一列。您的意思是创建主键吗


外键引用了另一个表中的列。

看起来像是外键引用了同一个表中的同一列。您的意思是创建主键吗


外键引用另一个表中的列。

在这种情况下,您的uidUsers正在引用(或者更好地说,您希望它引用)同一表中的主键。在图库中,需要有字段userId,它指向users表中的idUsers。所以,表库中的userId是指向正确用户的外键。您可能需要这样的内容(请注意gallery表中指向用户的外键)


在这种情况下,uidUsers正在引用(或者更好地说,您希望它引用)同一表上的主键。在图库中,需要有字段userId,它指向users表中的idUsers。所以,表库中的userId是指向正确用户的外键。您可能需要这样的内容(请注意gallery表中指向用户的外键)

CREATE TABLE users (
    idUsers int(11) AUTO_INCREMENT PRIMARY KEY not null,
    uidUsers TINYTEXT NOT NULL,
    emailUsers  TINYTEXT NOT NULL,
    pwdUsers  LONGTEXT NOT NULL,
    about_me varchar (228) NOT Null,
    FOREIGN KEY (idUsers) REFERENCES users(idUsers)
);
CREATE TABLE users ( 
  idUsers int(11) AUTO_INCREMENT PRIMARY KEY not null, 
  emailUsers TINYTEXT NOT NULL, 
  pwdUsers LONGTEXT NOT NULL, 
  about_me varchar (228) NOT Null
);

CREATE TABLE gallery (
  idGallery int(11) AUTO_INCREMENT PRIMARY KEY not null, 
  idUser int(11) not null,
  FOREIGN KEY (idUser) REFERENCES users(idUsers)
);