SQL:这两个表之间有什么样的关系(1:1、1:m、m:m、...)?
这两个表之间存在什么样的关系(1:1、1:m、m:m,等等)?
CREATE TABLE IF NOT EXISTS `my_product` (
`id` int(11) NOT NULL auto_increment,
`price` float default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `my_product_i18n` (
`id` int(11) NOT NULL,
`culture` varchar(7) NOT NULL,
`name` varchar(50) default NULL,
PRIMARY KEY (`id`,`culture`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `my_product_i18n`
ADD CONSTRAINT `my_product_i18n_FK_1` FOREIGN KEY (`id`) REFERENCES `my_product` (`id`);
what kind of relation (1:1, 1:m, m:m, whatever) there is between this two tables?
CREATE TABLE IF NOT EXISTS `my_product` (
`id` int(11) NOT NULL auto_increment,
`price` float default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `my_product_i18n` (
`id` int(11) NOT NULL,
`culture` varchar(7) NOT NULL,
`name` varchar(50) default NULL,
PRIMARY KEY (`id`,`culture`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `my_product_i18n`
ADD CONSTRAINT `my_product_i18n_FK_1` FOREIGN KEY (`id`) REFERENCES `my_product` (`id`);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是 1:m,您可以为每个
id
连接my_product_i18n
中的多个不同的culture
。编辑:
它是
PRIMARY KEY ('id','culture')
与告诉您可以拥有多个my_product_i18n
的约束相结合。It is 1:m you can have several different
culture
inmy_product_i18n connected
for eachid
.Edit:
It is
PRIMARY KEY ('id','culture')
in conjunction with the constraint that tells that you can have manymy_product_i18n
.1 到“也许” - 不能保证 my_product_i18n 中会有一行,并且 id 和文化的复合主键意味着给定 id 可以有多个行,前提是这些行具有不同的文化。
1 to "maybe" - there's no guarantee that there will be a row in my_product_i18n, and the composite primary key of id and culture mean that you could have multiple rows for a given id, provided that those rows are of different cultures.
这是1:M的关系。
my_product
中的一行可以根据culture
列在my_product_i18n
中包含 0、1 或多行。This is a 1:M relationship. One row in
my_product
can have 0, 1, or more rows inmy_product_i18n
based off of theculture
column.