如何通过使用primary-foreign key连接两个表?

时间:2014-07-07 05:25:42

标签: mysql sql

我是MySQL的新手,面临以下问题:

info数据库girls中的

&那里有girls_info个表。现在,我想通过使用id的{​​{1}}主键来连接这两个表,并希望将其作为其他girls表中的外键。我是怎么做到的?

我面临很多错误,我无法理解说,AUTO_INCREMENT,CONSTRAINTS,SYNTAX错误。我知道上述术语的含义,但实际上我不知道。

1 个答案:

答案 0 :(得分:0)

我创建了带有示例列名的示例表,您可以在表中添加/删除列。

要使用外键约束,您必须将两个表都设为INNO DB,在这种情况下,girl_id中的列应该在两个表中具有相同的定义

为了更好地理解外键。阅读http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

SAMPLE MYSQL DUMP

CREATE TABLE `girls` (
      `girl_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `other_info` varchar(500) NOT NULL,
      PRIMARY KEY (`girl_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1


    CREATE TABLE `girls_info` (
      `girl_id` int(10) unsigned NOT NULL,
      `name` varchar(100) DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      PRIMARY KEY (`girl_id`),
      CONSTRAINT `girl_id` FOREIGN KEY (`girl_id`) REFERENCES `girls` (`girl_id`) ON UPDATE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1