{"id":22,"date":"2017-09-20T20:57:07","date_gmt":"2017-09-20T20:57:07","guid":{"rendered":"http:\/\/www.ootp.cavebutter.net\/blog\/?p=22"},"modified":"2017-09-21T04:24:23","modified_gmt":"2017-09-21T04:24:23","slug":"tables-2-leagues-sub_leagues-and-divisions","status":"publish","type":"post","link":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22","title":{"rendered":"<font color='#1e73be'>Tables 2: Leagues, Sub_Leagues, and Divisions<\/font>"},"content":{"rendered":"<p>One interesting feature in each of these tables is the &#8216;gender&#8217; column. \u00a0Leaving aside the question of why leagues, subleagues, or divisions would need to be gendered (at least in English), it does beg the question of whether, perhaps OOTP will ever consider mixed or even female-only leagues.<\/p>\n<p><strong>Creating the leagues table<\/strong><\/p>\n<p>The\u00a0<strong>leagues<\/strong> table has a LOT of columns. \u00a0Part of me thinks that I should figure out a way to truncate the data before loading it into the database because there&#8217;s just sooo many! \u00a0And I really only need the first several. \u00a0On the other hand, I would have to this every time I generated a data dump. \u00a0There will never be so many leagues that\u00a0<em>this<\/em> table will become too large, so I will leave it alone for now. \u00a0Note that we are only interested in the first 4 columns:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-sql\">CREATE TABLE `leagues` (\r\n  `league_id` int(11) NOT NULL,\r\n  `name` varchar(50) DEFAULT NULL,\r\n  `abbr` varchar(50) DEFAULT NULL,\r\n  `nation_id` int(11) DEFAULT NULL,\r\n  `language_id` int(11) DEFAULT NULL,\r\n  `gender` int(11) DEFAULT NULL,\r\n  `historical_league` tinyint(4) DEFAULT NULL,\r\n  `logo_file_name` varchar(200) DEFAULT NULL,\r\n  `players_path` varchar(200) DEFAULT NULL,\r\n  `start_date` date DEFAULT NULL,\r\n  `preferred_start_date` date DEFAULT NULL,\r\n  `pitcher_award_name` varchar(50) DEFAULT NULL,\r\n  `mvp_award_name` varchar(50) DEFAULT NULL,\r\n  `rookie_award_name` varchar(50) DEFAULT NULL,\r\n  `defense_award_name` varchar(50) DEFAULT NULL,\r\n  `fictional_players` tinyint(4) DEFAULT NULL,\r\n  `start_fantasy_draft` tinyint(4) DEFAULT NULL,\r\n  `trading_deadline` tinyint(4) DEFAULT NULL,\r\n  `winter_meetings` tinyint(4) DEFAULT NULL,\r\n  `arbitration_offering` tinyint(4) DEFAULT NULL,\r\n  `show_draft_pool` tinyint(4) DEFAULT NULL,\r\n  `rosters_expanded` tinyint(4) DEFAULT NULL,\r\n  `draft_date` date DEFAULT NULL,\r\n  `rule_5_draft_date` date DEFAULT NULL,\r\n  `roster_expand_date` date DEFAULT NULL,\r\n  `trade_deadline_date` date DEFAULT NULL,\r\n  `allstar_date` date DEFAULT NULL,\r\n  `days_until_deadline` int(11) DEFAULT NULL,\r\n  `next_draft_type` int(11) DEFAULT NULL,\r\n  `parent_league_id` int(11) DEFAULT NULL,\r\n  `league_state` smallint(6) DEFAULT NULL,\r\n  `season_year` int(11) DEFAULT NULL,\r\n  `historical_year` smallint(6) DEFAULT NULL,\r\n  `league_level` smallint(6) DEFAULT NULL,\r\n  `stats_detail` int(11) DEFAULT NULL,\r\n  `historical_import_path` varchar(200) DEFAULT NULL,\r\n  `foreigner_percentage` smallint(6) DEFAULT NULL,\r\n  `was_ootp6` tinyint(4) DEFAULT NULL,\r\n  `was_65` tinyint(4) DEFAULT NULL,\r\n  `allstar_game` tinyint(4) DEFAULT NULL,\r\n  `auto_schedule_allstar` tinyint(4) DEFAULT NULL,\r\n  `allstar_team_id0` int(11) DEFAULT NULL,\r\n  `allstar_team_id1` int(11) DEFAULT NULL,\r\n  `schedule_file_1` varchar(200) DEFAULT NULL,\r\n  `schedule_file_2` varchar(200) DEFAULT NULL,\r\n  `rules_rule_5` tinyint(4) DEFAULT NULL,\r\n  `rules_minor_league_options` tinyint(4) DEFAULT NULL,\r\n  `rules_trading` tinyint(4) DEFAULT NULL,\r\n  `rules_draft_pick_trading` tinyint(4) DEFAULT NULL,\r\n  `rules_financials` tinyint(4) DEFAULT NULL,\r\n  `rules_amateur_draft` tinyint(4) DEFAULT NULL,\r\n  `rules_fa_compensation` tinyint(4) DEFAULT NULL,\r\n  `rules_schedule_balanced` tinyint(4) DEFAULT NULL,\r\n  `rules_schedule_inter_league` tinyint(4) DEFAULT NULL,\r\n  `rules_schedule_force_start_day` tinyint(4) DEFAULT NULL,\r\n  `rules_trades_other_leagues` tinyint(4) DEFAULT NULL,\r\n  `rules_free_agents_from_other_leagues` tinyint(4) DEFAULT NULL,\r\n  `rules_free_agents_leave_other_leagues` tinyint(4) DEFAULT NULL,\r\n  `rules_allstar_game` tinyint(4) DEFAULT NULL,\r\n  `rules_spring_training` tinyint(4) DEFAULT NULL,\r\n  `rules_active_roster_limit` smallint(6) DEFAULT NULL,\r\n  `rules_secondary_roster_limit` smallint(6) DEFAULT NULL,\r\n  `rules_expanded_roster_limit` smallint(6) DEFAULT NULL,\r\n  `rules_min_service_days` smallint(6) DEFAULT NULL,\r\n  `rules_waiver_period_length` smallint(6) DEFAULT NULL,\r\n  `rules_dfa_period_length` smallint(6) DEFAULT NULL,\r\n  `rules_fa_minimum_years` smallint(6) DEFAULT NULL,\r\n  `rules_salary_arbitration_minimum_years` smallint(6) DEFAULT NULL,\r\n  `rules_minor_league_fa_minimum_years` smallint(6) DEFAULT NULL,\r\n  `rules_foreigner_limit` smallint(6) DEFAULT NULL,\r\n  `rules_foreigner_pitcher_limit` smallint(6) DEFAULT NULL,\r\n  `rules_foreigner_hitter_limit` smallint(6) DEFAULT NULL,\r\n  `rules_schedule_games_per_team` smallint(6) DEFAULT NULL,\r\n  `rules_schedule_typical_series` smallint(6) DEFAULT NULL,\r\n  `rules_schedule_preferred_start_day` smallint(6) DEFAULT NULL,\r\n  `rules_amateur_draft_rounds` smallint(6) DEFAULT NULL,\r\n  `rules_minimum_salary` int(11) DEFAULT NULL,\r\n  `rules_salary_cap` int(11) DEFAULT NULL,\r\n  `rules_player_salary0` int(11) DEFAULT NULL,\r\n  `rules_player_salary1` int(11) DEFAULT NULL,\r\n  `rules_player_salary2` int(11) DEFAULT NULL,\r\n  `rules_player_salary3` int(11) DEFAULT NULL,\r\n  `rules_player_salary4` int(11) DEFAULT NULL,\r\n  `rules_player_salary5` int(11) DEFAULT NULL,\r\n  `rules_player_salary6` int(11) DEFAULT NULL,\r\n  `rules_player_salary7` int(11) DEFAULT NULL,\r\n  `rules_average_coach_salary` int(11) DEFAULT NULL,\r\n  `rules_average_attendance` int(11) DEFAULT NULL,\r\n  `rules_average_national_media_contract` int(11) DEFAULT NULL,\r\n  `rules_cash_maximum` int(11) DEFAULT NULL,\r\n  `rules_average_ticket_price` double DEFAULT NULL,\r\n  `rules_revenue_sharing` tinyint(4) DEFAULT NULL,\r\n  `rules_national_media_contract_fixed` tinyint(4) DEFAULT NULL,\r\n  `rules_owner_decides_budget` tinyint(4) DEFAULT NULL,\r\n  `rules_schedule_auto_adjust_dates` tinyint(4) DEFAULT NULL,\r\n  `rules_historical_import_rookies` tinyint(4) DEFAULT NULL,\r\n  `avg_rating_contact` int(11) DEFAULT NULL,\r\n  `avg_rating_gap` int(11) DEFAULT NULL,\r\n  `avg_rating_power` int(11) DEFAULT NULL,\r\n  `avg_rating_eye` int(11) DEFAULT NULL,\r\n  `avg_rating_strikeouts` int(11) DEFAULT NULL,\r\n  `avg_rating_stuff` int(11) DEFAULT NULL,\r\n  `avg_rating_movement` int(11) DEFAULT NULL,\r\n  `avg_rating_control` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding0` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding1` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding2` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding3` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding4` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding5` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding6` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding7` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding8` int(11) DEFAULT NULL,\r\n  `avg_rating_fielding9` int(11) DEFAULT NULL,\r\n  `avg_rating_overall` int(11) DEFAULT NULL,\r\n  `avg_rating_age` double DEFAULT NULL,\r\n  `league_totals_ab` int(11) DEFAULT NULL,\r\n  `league_totals_h` int(11) DEFAULT NULL,\r\n  `league_totals_d` int(11) DEFAULT NULL,\r\n  `league_totals_t` int(11) DEFAULT NULL,\r\n  `league_totals_hr` int(11) DEFAULT NULL,\r\n  `league_totals_bb` int(11) DEFAULT NULL,\r\n  `league_totals_hp` int(11) DEFAULT NULL,\r\n  `league_totals_k` int(11) DEFAULT NULL,\r\n  `league_totals_pa` int(11) DEFAULT NULL,\r\n  `league_totals_babip` double DEFAULT NULL,\r\n  `league_totals_mod_h` double DEFAULT NULL,\r\n  `league_totals_mod_d` double DEFAULT NULL,\r\n  `league_totals_mod_t` double DEFAULT NULL,\r\n  `league_totals_mod_hr` double DEFAULT NULL,\r\n  `league_totals_mod_bb` double DEFAULT NULL,\r\n  `league_totals_mod_hp` double DEFAULT NULL,\r\n  `league_totals_mod_k` double DEFAULT NULL,\r\n  `league_totals_mod_babip` double DEFAULT NULL,\r\n  `ml_equivalencies_avg` double DEFAULT NULL,\r\n  `ml_equivalencies_hr` double DEFAULT NULL,\r\n  `ml_equivalencies_eb` double DEFAULT NULL,\r\n  `ml_equivalencies_bb` double DEFAULT NULL,\r\n  `ml_equivalencies_k` double DEFAULT NULL,\r\n  `ml_equivalencies_hp` double DEFAULT NULL,\r\n  `player_creation_modifier_contact` double DEFAULT NULL,\r\n  `player_creation_modifier_gap` double DEFAULT NULL,\r\n  `player_creation_modifier_power` double DEFAULT NULL,\r\n  `player_creation_modifier_eye` double DEFAULT NULL,\r\n  `player_creation_modifier_strikeouts` double DEFAULT NULL,\r\n  `player_creation_modifier_stuff` double DEFAULT NULL,\r\n  `player_creation_modifier_movement` double DEFAULT NULL,\r\n  `player_creation_modifier_control` double DEFAULT NULL,\r\n  `player_creation_modifier_speed` double DEFAULT NULL,\r\n  `player_creation_modifier_fielding` double DEFAULT NULL,\r\n  `financial_coefficient` double DEFAULT NULL,\r\n  `world_start_year` int(11) DEFAULT NULL,\r\n  `current_date` date DEFAULT NULL,\r\n  `background_color_id` varchar(8) DEFAULT NULL,\r\n  `text_color_id` varchar(8) DEFAULT NULL,\r\n  `scouting_coach_id` int(11) DEFAULT NULL,\r\n  PRIMARY KEY (`league_id`)\r\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Creating the sub_leagues table<\/strong><\/p>\n<p>The\u00a0<strong>sub_leagues<\/strong> table is much more manageable. \u00a0It serves to name each league&#8217;s sub_leagues and attach them to a parent league. \u00a0Note here that I made a composite PK rather than adding an AUTO_INCREMENT:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-sql\">CREATE TABLE `sub_leagues` (\r\n  `league_id` int(11) NOT NULL,\r\n  `sub_league_id` int(11) NOT NULL,\r\n  `name` varchar(50) DEFAULT NULL,\r\n  `abbr` varchar(50) DEFAULT NULL,\r\n  `gender` int(11) DEFAULT NULL,\r\n  `designated_hitter` tinyint(4) DEFAULT NULL,\r\n  PRIMARY KEY (`league_id`,`sub_league_id`)\r\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Creating the divisions table<\/strong><\/p>\n<p>This one, too, is very straightforward. \u00a0Again, a composite primary key rather than an AUTO_INCREMENT:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-sql\">CREATE TABLE `divisions` (\r\n  `league_id` int(11) NOT NULL,\r\n  `sub_league_id` int(11) NOT NULL,\r\n  `division_id` int(11) NOT NULL,\r\n  `name` varchar(50) DEFAULT NULL,\r\n  `gender` int(11) DEFAULT NULL,\r\n  PRIMARY KEY (`league_id`,`sub_league_id`,`division_id`)\r\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>One interesting feature in each of these tables is the &#8216;gender&#8217; column. \u00a0Leaving aside the question of why leagues, subleagues, or divisions would need to be gendered (at least in English), it does beg the question of whether, perhaps OOTP will ever consider mixed or even female-only leagues. Creating the leagues table The\u00a0leagues table has&hellip; <a class=\"more-link\" href=\"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22\">Continue reading <span class=\"screen-reader-text\">Tables 2: Leagues, Sub_Leagues, and Divisions<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[10],"tags":[19,17,7,4,18,6],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-tables","tag-divisions","tag-leagues","tag-mysql","tag-ootp","tag-sub_leagues","tag-tables"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"cavebutter\"\/>\n\t<link rel=\"canonical\" href=\"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"MySQL MyStruggle | Rolling my own MySQL Database with OOTP\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle\" \/>\n\t\t<meta property=\"og:url\" content=\"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-09-20T20:57:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-09-21T04:24:23+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#article\",\"name\":\"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle\",\"headline\":\"Tables 2: Leagues, Sub_Leagues, and Divisions\",\"author\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/author\\\/cavebutter#author\"},\"publisher\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/#organization\"},\"datePublished\":\"2017-09-20T20:57:07-07:00\",\"dateModified\":\"2017-09-21T04:24:23-07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#webpage\"},\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#webpage\"},\"articleSection\":\"Tables, divisions, leagues, mysql, OOTP, sub_leagues, tables\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/category\\\/tables#listItem\",\"name\":\"Tables\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/category\\\/tables#listItem\",\"position\":2,\"name\":\"Tables\",\"item\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/category\\\/tables\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#listItem\",\"name\":\"Tables 2: Leagues, Sub_Leagues, and Divisions\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#listItem\",\"position\":3,\"name\":\"Tables 2: Leagues, Sub_Leagues, and Divisions\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/category\\\/tables#listItem\",\"name\":\"Tables\"}}]},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/#organization\",\"name\":\"MySQL MyStruggle\",\"description\":\"Rolling my own MySQL Database with OOTP\",\"url\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/author\\\/cavebutter#author\",\"url\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/author\\\/cavebutter\",\"name\":\"cavebutter\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3841893aa5a48e51f3ff3699f735196959f8b88a5ed3851eda2fed141b75cadc?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"cavebutter\"}},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#webpage\",\"url\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22\",\"name\":\"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/22#breadcrumblist\"},\"author\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/author\\\/cavebutter#author\"},\"creator\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/archives\\\/author\\\/cavebutter#author\"},\"datePublished\":\"2017-09-20T20:57:07-07:00\",\"dateModified\":\"2017-09-21T04:24:23-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/#website\",\"url\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/\",\"name\":\"MySQL MyStruggle\",\"description\":\"Rolling my own MySQL Database with OOTP\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"http:\\\/\\\/www.ootp.cavebutter.net\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle","description":"","canonical_url":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#article","name":"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle","headline":"Tables 2: Leagues, Sub_Leagues, and Divisions","author":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/author\/cavebutter#author"},"publisher":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/#organization"},"datePublished":"2017-09-20T20:57:07-07:00","dateModified":"2017-09-21T04:24:23-07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#webpage"},"isPartOf":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#webpage"},"articleSection":"Tables, divisions, leagues, mysql, OOTP, sub_leagues, tables"},{"@type":"BreadcrumbList","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog#listItem","position":1,"name":"Home","item":"http:\/\/www.ootp.cavebutter.net\/blog","nextItem":{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables#listItem","name":"Tables"}},{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables#listItem","position":2,"name":"Tables","item":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables","nextItem":{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#listItem","name":"Tables 2: Leagues, Sub_Leagues, and Divisions"},"previousItem":{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#listItem","position":3,"name":"Tables 2: Leagues, Sub_Leagues, and Divisions","previousItem":{"@type":"ListItem","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables#listItem","name":"Tables"}}]},{"@type":"Organization","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/#organization","name":"MySQL MyStruggle","description":"Rolling my own MySQL Database with OOTP","url":"http:\/\/www.ootp.cavebutter.net\/blog\/"},{"@type":"Person","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/author\/cavebutter#author","url":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/author\/cavebutter","name":"cavebutter","image":{"@type":"ImageObject","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3841893aa5a48e51f3ff3699f735196959f8b88a5ed3851eda2fed141b75cadc?s=96&d=mm&r=g","width":96,"height":96,"caption":"cavebutter"}},{"@type":"WebPage","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#webpage","url":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22","name":"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle","inLanguage":"en-US","isPartOf":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/#website"},"breadcrumb":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22#breadcrumblist"},"author":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/author\/cavebutter#author"},"creator":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/author\/cavebutter#author"},"datePublished":"2017-09-20T20:57:07-07:00","dateModified":"2017-09-21T04:24:23-07:00"},{"@type":"WebSite","@id":"http:\/\/www.ootp.cavebutter.net\/blog\/#website","url":"http:\/\/www.ootp.cavebutter.net\/blog\/","name":"MySQL MyStruggle","description":"Rolling my own MySQL Database with OOTP","inLanguage":"en-US","publisher":{"@id":"http:\/\/www.ootp.cavebutter.net\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"MySQL MyStruggle | Rolling my own MySQL Database with OOTP","og:type":"article","og:title":"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle","og:url":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22","article:published_time":"2017-09-20T20:57:07+00:00","article:modified_time":"2017-09-21T04:24:23+00:00","twitter:card":"summary","twitter:title":"Tables 2: Leagues, Sub_Leagues, and Divisions | MySQL MyStruggle"},"aioseo_meta_data":{"post_id":"22","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-02-03 03:39:37","updated":"2025-12-10 01:02:41","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/www.ootp.cavebutter.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables\" title=\"Tables\">Tables<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<font color=\"#1e73be\">Tables 2: Leagues, Sub_Leagues, and Divisions<\/font>\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"http:\/\/www.ootp.cavebutter.net\/blog"},{"label":"Tables","link":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/category\/tables"},{"label":"<font color='#1e73be'>Tables 2: Leagues, Sub_Leagues, and Divisions<\/font>","link":"http:\/\/www.ootp.cavebutter.net\/blog\/archives\/22"}],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9cxb5-m","jetpack_likes_enabled":true,"jetpack-related-posts":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":4,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":48,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/posts\/22\/revisions\/48"}],"wp:attachment":[{"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ootp.cavebutter.net\/blog\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}