在我的sql中,我有一个包含交易列表的表(交易)
每笔交易都有一个id。
我有另一张表(公司),其中包含公司列表,在此表中有一个交易栏,在这里将有交易的ID,可能有多个交易。
公司表中交易列的最佳数据类型是什么?
很抱歉,如果我的术语不正确!
答案 0 :(得分:0)
为了保持表中数据项的不稳定性(模块化)以及未来SELECT查询(JOIN,GROUPing,搜索等)的灵活性,最佳做法是使表具有保持这些数据项关系的字段。这将有助于您建立多对多的关系。
所以这是一个例子:
-- Create syntax for TABLE 'companies'
CREATE TABLE `companies` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Create syntax for TABLE 'trades'
CREATE TABLE `trades` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- Create syntax for TABLE 'companies_trades'
CREATE TABLE `companies_trades` (
`company_id` int(11) unsigned NOT NULL,
`trade_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`company_id`,`trade_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;