1

Тема: Створення таблиць.Помилка з ключами.

Ось так створив таблицю групс з зовнішнім ключем по ід

CREATE TABLE  groups (group_id int(10) AUTO_INCREMENT,title VARCHAR(20),stud_num INT(3),PRIMARY KEY (group_id));

Коли намагаюсь в іншій таблиці прив’язати то помилка в форейнг кей не розумію чому.

CREATE TABLE  students (name VARCHAR(20),age INT(3),group INT(10),FOREIGN KEY (group) REFERENCES groups (group_id));
завдання

тво-
ріть нову базу даних, 2 таблиці: students i groups. students таблиця мати-
ме поля: name (ім’я, тип VARCHAR), age (вік, тип INT) та group (група,
посилання на рядок з таблиці groups, тип FOREIGN KEY). groups таблиця
матиме поля: title (назва, тип VARCHAR), students_num (кількість студентів,
тип INT).

2

Re: Створення таблиць.Помилка з ключами.

Дімич давай разом розбиратись, мені буде корисно, скинь месидж як помилка точно звучить

3

Re: Створення таблиць.Помилка з ключами.

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group INT(10),FOREIGN KEY (group) REFERENCES groups (group_id))' at line 1

4

Re: Створення таблиць.Помилка з ключами.

так тут сказно що в тебе синтаксична помилка можливо кому десь не там поставив, я зараз твоє завдання попробую в себе в базі даних створити заодно і синтаксис провірю

5

Re: Створення таблиць.Помилка з ключами.

між іншим що мається на увазі group_id ? Якщо номер групи студентів, щось на зразок "ТА_9414" і це дані то автоінкремент тут прописувати не потрібно, наскільки я знаю автоінкремент це індекс що збільшується на одиницю при внесенні чергової порції даних, можливо видалити потрібно цю частину AUTO_INCREMENT при створенні таблиці

6 Востаннє редагувалося Анатолій (12.12.2014 12:32:43)

Re: Створення таблиць.Помилка з ключами.

Посилання з таблиці students з використанням FOREIGN KEY в мене пройшло, таблиці створились

CREATE TABLE students(
Name VARCHAR( 255 ) ,
Age INT NOT NULL ,
Groups INT NOT NULL ,
FOREIGN KEY ( Groups ) REFERENCES groups( groups_id )
)

крім цього поле group в завданні некоректне, тому що якщо не помиляюсь воно службове, я дещо скорегував і поле назвав не group, а Groups

для порівняння твоя частина

CREATE TABLE  students (
name VARCHAR(20),
age INT(3),
group INT(10),
FOREIGN KEY (group) REFERENCES groups (group_id)
);
Подякували: Blast1

7

Re: Створення таблиць.Помилка з ключами.

Люди, якщо вам кортить використовувати службові слова в якості імен полів, то обгорніть їх так:
FOREIGN KEY (`group`) REFERENCES groups (group_id)
Даю гарантію, що ваш запит чи інструкція створення буде сприйнята сервером цілком коректно.

Подякували: koala, Sensetivity, Arete3