簡體   English   中英

一個引用字段對多個外鍵約束的可能用途

[英]What Is Possible Use One Reference Field To Multiple Foreign Key Constraint

我想要制作3張這樣的桌子:

wc_groups表

CREATE TABLE IF NOT EXISTS `wc_groups` (
  `id` int(2) unsigned NOT NULL AUTO_INCREMENT,
  `idgroup` int(7) NOT NULL,
  `title` varchar(10) NOT NULL,
  `content` text,
  `status` smallint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idgroup` (`idgroup`),
  KEY `status` (`status`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

wc_matches表

CREATE TABLE IF NOT EXISTS `wc_matches` (
  `id` int(4) unsigned NOT NULL AUTO_INCREMENT,
  `time` date NOT NULL,
  `group_id` int(2) unsigned NOT NULL,
  `place` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `team_id_1` int(10) unsigned NOT NULL,
  `team_id_2` int(10) unsigned NOT NULL,
  `edituser` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  KEY `group_id_foreign` (`group_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

wc_teams表

CREATE TABLE IF NOT EXISTS `wc_teams` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `group_id` int(2) unsigned NOT NULL,
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

ALTER TABLE `wc_teams`
  ADD CONSTRAINT `group_id_foreign` FOREIGN KEY (`group_id`) REFERENCES `wc_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

為什么執行代碼創建表wc_team時出現錯誤?

可以使用什么?可以使用一個引用字段( wc_groupsid ))對多個外鍵約束進行使用?

我不明白您對多個外鍵的意思。

但是在wc_teams create查詢中的問題是您迷路了

 `group_id` int(2) unsigned NOT NULL,

但是你也錯過了主鍵,所以我想你需要這個

CREATE TABLE IF NOT EXISTS `wc_teams` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `group_id` int(2) unsigned NOT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM