我如何创建一个foriegn密钥



我正在尝试从我的用户表中创建一个外键" iduser"。我希望能够在我的画廊表中使用它。每当我尝试时,我都会得到错误:

#1005-无法创建表useraccountsusers(ERRNO:150"外键约束未正确形成"(

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)
);

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

#1005-无法创建表useraccountsusers(ERRNO:150"外键约束未正确形成"(。

在这种情况下,您的uidusers正在引用(或者更好,您希望它参考(,同一表上的主键。在您的画廊中,您需要拥有字段用户ID,这指向用户表中的IDUSER。因此,桌上库中的用户ID是指向纠正用户的外键。您可能想要这样的东西(请注意指向用户的图库表中的外键(

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)
);

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

另一个表中的外键参考列。

相关内容

最新更新