MySQL数据库在一个表中具有两个外键

向量

我是数据库设计的新手,但我读到您可能在一个表中有两个外键。由于某些原因,尝试在phpMyAdmin中运行以下SQL时出现错误。

CREATE TABLE tbl_user
(
  id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(45) NOT NULL,
  password VARCHAR(45) NOT NULL,
  email VARCHAR(72) NOT NULL,
  first_name VARCHAR(45),
  last_name VARCHAR(45),
  role VARCHAR(20),
  UNIQUE(username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE tbl_profile
(
  id INTEGER NOT NULL PRIMARY KEY,
  attribute VARCHAR(128) NOT NULL,
  value VARCHAR(128) NOT NULL,
  CONSTRAINT FK_userid FOREIGN KEY (id)
    REFERENCES tbl_user (id) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT FK_attribute FOREIGN KEY (attribute)
    REFERENCES tbl_attribute (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE tbl_attribute
(
  id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(45) NOT NULL,
  description TEXT,
  data_type VARCHAR(45)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

任何帮助是极大的赞赏!

spencer7593

外键列和主键列的数据类型不匹配;这些必须匹配。

tbl_profile(attribute)  is VARCHAR
tbl_attribute(id)       is INT 

另外,在创建外键约束之前,必须先创建引用表。(创建表后,我们经常会在ALTER TABLE语句中看到单独定义的外键约束。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在具有两个外键(php)的一个表中插入数据

来自分类Dev

Laravel 关系,一个数据库有两个外键

来自分类Dev

Mysql在两个表中插入其中第一个表具有外键并更新第一个表

来自分类Dev

两个外键字段,正好一个字段设置为一个值,而在带有MySQL数据库的Django模型中,另一个为null

来自分类Dev

在一个查询中从具有两个外键的一个表中进行选择

来自分类Dev

具有两个外键的表来自一个主键

来自分类Dev

在Oracle数据库的两个表中交换外键

来自分类Dev

如何在两个不同的数据库之间的MySQL中设置外键?

来自分类Dev

mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

来自分类Dev

如何将组合PK引用为另一个表中的外键,并且仍然具有规范化的数据库?

来自分类Dev

具有一个数据库的两个Django项目

来自分类Dev

从两个不同的表中选择一个查询Access数据库中具有不同字段的列

来自分类Dev

从两个不同的表中选择一个查询Access数据库中具有不同字段的列

来自分类Dev

使用休眠从具有两个外键的表中检索数据

来自分类Dev

将一个数据库表中的行插入另一个数据库中的两个不同表中

来自分类Dev

Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

来自分类Dev

在两个数据库的两个不同表中插入相同的Guid键

来自分类Dev

mysql在一个查询中具有不同记录的两个表

来自分类Dev

具有两个外键的表之间的关系

来自分类Dev

django表单:具有外键的一个<form>中的两个表单模型

来自分类Dev

可以将数据库中所有表的主键作为一个表的外键引用吗?

来自分类Dev

创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

来自分类Dev

MySQL的:使用两个外键到同一个表

来自分类Dev

约束错误MySQL 5.6同时使用一个外键创建两个表

来自分类Dev

mysql 查询引用同一个表的两个外键

来自分类Dev

两个带有外键的表引用另一个NameError

来自分类Dev

创建一个对一个键具有多个值的数据库

来自分类Dev

插入到两个表中,其中一个表具有自动增量主键,并且同一键用作另一表中的外键

来自分类Dev

一个表的sql,该表具有两个导致同一笛卡尔积的表的外键

Related 相关文章

  1. 1

    在具有两个外键(php)的一个表中插入数据

  2. 2

    Laravel 关系,一个数据库有两个外键

  3. 3

    Mysql在两个表中插入其中第一个表具有外键并更新第一个表

  4. 4

    两个外键字段,正好一个字段设置为一个值,而在带有MySQL数据库的Django模型中,另一个为null

  5. 5

    在一个查询中从具有两个外键的一个表中进行选择

  6. 6

    具有两个外键的表来自一个主键

  7. 7

    在Oracle数据库的两个表中交换外键

  8. 8

    如何在两个不同的数据库之间的MySQL中设置外键?

  9. 9

    mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

  10. 10

    如何将组合PK引用为另一个表中的外键,并且仍然具有规范化的数据库?

  11. 11

    具有一个数据库的两个Django项目

  12. 12

    从两个不同的表中选择一个查询Access数据库中具有不同字段的列

  13. 13

    从两个不同的表中选择一个查询Access数据库中具有不同字段的列

  14. 14

    使用休眠从具有两个外键的表中检索数据

  15. 15

    将一个数据库表中的行插入另一个数据库中的两个不同表中

  16. 16

    Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

  17. 17

    在两个数据库的两个不同表中插入相同的Guid键

  18. 18

    mysql在一个查询中具有不同记录的两个表

  19. 19

    具有两个外键的表之间的关系

  20. 20

    django表单:具有外键的一个<form>中的两个表单模型

  21. 21

    可以将数据库中所有表的主键作为一个表的外键引用吗?

  22. 22

    创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

  23. 23

    MySQL的:使用两个外键到同一个表

  24. 24

    约束错误MySQL 5.6同时使用一个外键创建两个表

  25. 25

    mysql 查询引用同一个表的两个外键

  26. 26

    两个带有外键的表引用另一个NameError

  27. 27

    创建一个对一个键具有多个值的数据库

  28. 28

    插入到两个表中,其中一个表具有自动增量主键,并且同一键用作另一表中的外键

  29. 29

    一个表的sql,该表具有两个导致同一笛卡尔积的表的外键

热门标签

归档