Добавить ключ foregin в другую таблицу - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь добавить username из моего st_accounts столбца в мою таблицу results, используя mySQL.

st_accounts table

  `id` int(11) NOT NULL,    //Primary Key
  `firstname` varchar(50) NOT NULL,
  `lastname` varchar(50) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(100) NOT NULL,
  `img` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

таблица результатов

  `score_ID` int(11) NOT NULL,     //Primary key
  `score` int(20) NOT NULL,
  `date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1 Ответ

0 голосов
/ 03 марта 2019

Я думаю, что вы хотите:

create table accounts (
  account_id int auto_increment primary key,
   . . .
);

create table results (
  result_id int auto_increment primary key,
  account_id int not null
  score int NOT NULL,
  score_date date NOT NULL,
  constraint fk_results_accounts foreig key (accounts_id) references accounts(account_id)
) ;

Примечания:

  • Объявите primary key явно, а не в комментарии.
  • Мое соглашение заключается вНазовите первичный ключ после имени таблицы (в единственном числе) с _id после него.
  • Внешний ключ имеет то же имя, что и первичный ключ - самодокументирование.
  • Iсделал целочисленные первичные ключи auto_increment, чтобы базе данных можно было присваивать уникальные значения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...