# Help to link 2 tables on MySQL

**URL:** <https://forum.kirupa.com/t/help-to-link-2-tables-on-mysql/325151>\
**Category:** programming\
**Created:** [September 28, 2011, 5:27pm UTC](https://forum.kirupa.com/t/help-to-link-2-tables-on-mysql/325151 "2011-09-28T17:27:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Thomas\_Bernard](https://avatars.discourse-cdn.com/v4/letter/t/b19c9b/32.png) [@Thomas\_Bernard](https://forum.kirupa.com/u/Thomas_Bernard)\
**Post date:** [September 28, 2011, 5:27pm UTC](https://forum.kirupa.com/t/help-to-link-2-tables-on-mysql/325151/1 "2011-09-28T17:27:56Z")

</div>

Hello,

I’m a newbie on mysql.  
I have 6 tables and I want to find all links between these and write it.  
I try with this text :

> KEY (room\_id) REFERENCES thomasb\_entry(room\_id)  
> And the result is :

> #1064 - Erreur de syntaxe près de ‘FOREIGN KEY (room\_id) REFERENCES thomasb\_entry(room\_id)  
> ) ENGINE=InnoDB DEFAULT’

Here my tables :

```php
#
# MySQL MRBS table creation script
#
# $Id: tables.my.sql 1753 2011-01-26 16:04:51Z jberanek $
#
# Notes:
# (1) If you have decided to change the prefix of your tables from 'mrbs_'
# to something else using $db_tbl_prefix then you must edit each
# 'CREATE TABLE' and 'INSERT INTO' line below to replace 'mrbs_' with
# your new table prefix.
#
# (2) If you change the varchar lengths here, then you should check
# to see whether a corresponding length has been defined in the config file
# in the array $maxlength.
#
# (3) If you add new fields then you should also change the global variable
# $standard_fields. Note that if you are just adding custom fields for
# a single site then this is not necessary.

CREATE TABLE thomasb_area
(
  id int NOT NULL auto_increment,
  disabled tinyint(1) DEFAULT 0 NOT NULL,
  area_name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci,
  area_admin_email text CHARACTER SET utf8 COLLATE utf8_general_ci,
  resolution int,
  default_duration int,
  morningstarts int,
  morningstarts_minutes int,
  eveningends int,
  eveningends_minutes int,
  private_enabled tinyint(1),
  private_default tinyint(1),
  private_mandatory tinyint(1),
  private_override varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci,
  min_book_ahead_enabled tinyint(1),
  min_book_ahead_secs int,
  max_book_ahead_enabled tinyint(1),
  max_book_ahead_secs int,
  custom_html text CHARACTER SET utf8 COLLATE utf8_general_ci,
  approval_enabled tinyint(1),
  reminders_enabled tinyint(1),
  enable_periods tinyint(1),
  confirmation_enabled tinyint(1),
  confirmed_default tinyint(1),

  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE thomasb_room
(
  id int NOT NULL auto_increment,
  disabled tinyint(1) DEFAULT 0 NOT NULL,
  area_id int DEFAULT '0' NOT NULL,
  room_name varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  sort_key varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  description varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci,
  capacity int DEFAULT '0' NOT NULL,
  room_admin_email text CHARACTER SET utf8 COLLATE utf8_general_ci,
  custom_html text CHARACTER SET utf8 COLLATE utf8_general_ci,

  PRIMARY KEY (id),
  KEY idxSortKey (sort_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE thomasb_entry
(
  id int NOT NULL auto_increment,
  start_time int DEFAULT '0' NOT NULL,
  end_time int DEFAULT '0' NOT NULL,
  entry_type int DEFAULT '0' NOT NULL,
  repeat_id int DEFAULT '0' NOT NULL,
  room_id int DEFAULT '1' NOT NULL,
  timestamp timestamp,
  create_by varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  name varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  type char DEFAULT 'E' NOT NULL,
  description text CHARACTER SET utf8 COLLATE utf8_general_ci,
  status tinyint unsigned NOT NULL DEFAULT 0,
  reminded int,
  info_time int,
  info_user varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,
  info_text text CHARACTER SET utf8 COLLATE utf8_general_ci,
  ical_uid varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  ical_sequence smallint DEFAULT 0 NOT NULL,
  ical_recur_id varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  PRIMARY KEY (id),
  KEY idxStartTime (start_time),
  KEY idxEndTime (end_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE thomasb_repeat
(
  id int NOT NULL auto_increment,
  start_time int DEFAULT '0' NOT NULL,
  end_time int DEFAULT '0' NOT NULL,
  rep_type int DEFAULT '0' NOT NULL,
  end_date int DEFAULT '0' NOT NULL,
  rep_opt varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  room_id int DEFAULT '1' NOT NULL,
  timestamp timestamp,
  create_by varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  name varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  type char DEFAULT 'E' NOT NULL,
  description text CHARACTER SET utf8 COLLATE utf8_general_ci,
  rep_num_weeks smallint NULL, 
  status tinyint unsigned NOT NULL DEFAULT 0,
  reminded int,
  info_time int,
  info_user varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,
  info_text text CHARACTER SET utf8 COLLATE utf8_general_ci,
  ical_uid varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,
  ical_sequence smallint DEFAULT 0 NOT NULL,
  
  PRIMARY KEY (id)
  KEY (room_id) REFERENCES thomasb_entry(room_id)
  SELECT a, b from thomasb_repeat LEFT JOIN thomasb_entry USING (room_id);
  /*select room_id from thomasb_repeat,joueur where equipe.equipe_id=joueur.equipe_id and joueur.joueur_id=21; */
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE thomasb_variables
(
  id int NOT NULL auto_increment,
  variable_name varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,
  variable_content text CHARACTER SET utf8 COLLATE utf8_general_ci,
      
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE thomasb_users
(
  /* The first four fields are required. Don't remove. */
  id int NOT NULL auto_increment,
  level smallint DEFAULT '0' NOT NULL, /* play safe and give no rights */
  name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci,
  password varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci,
  email varchar(75) CHARACTER SET utf8 COLLATE utf8_general_ci,

  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO thomasb_variables (variable_name, variable_content)
  VALUES ( 'db_version', '26');
INSERT INTO thomasb_variables (variable_name, variable_content)
  VALUES ( 'local_db_version', '1');

```

I hope someone can help me to fix the error and help me to find the best link

Thanks in advance
