Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / CONSTRAINT и FK / 3 сообщений из 3, страница 1 из 1
09.03.2015, 11:59:48
    #38898721
Вадя1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CONSTRAINT и FK
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE IF NOT EXISTS `Stock` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `Update` datetime NOT NULL,
  CONSTRAINT stock_id PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



что означает CONSTRAINT?
можно же без него написать, в чем разница?

Далее что такое FK (FOREIGN KEY) я знаю
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE IF NOT EXISTS `Test` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `id_t` int(10) unsigned NOT NULL,
 `date_fn` datetime NOT NULL,
  PRIMARY KEY (`id`),
  INDEX (Id_t), -- на оф сайте написано надо задавать явно
  FOREIGN KEY (Id_t) REFERENCES Stock(Id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



Я совсем запутался зачем эта запись CONSTRAINT
...
Рейтинг: 0 / 0
09.03.2015, 12:04:00
    #38898725
Вадя1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CONSTRAINT и FK
If defined, the CONSTRAINT symbol value is used. Otherwise, the FOREIGN KEY index_name value is used.
If neither a CONSTRAINT symbol or FOREIGN KEY index_name is defined, the foreign key index name is generated using the name of the referencing foreign key column.
я прочитал, но толком не понял
...
Рейтинг: 0 / 0
09.03.2015, 12:23:31
    #38898736
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CONSTRAINT и FK
Вадя1
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE IF NOT EXISTS `Stock` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `Update` datetime NOT NULL,
  CONSTRAINT stock_id PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



что означает CONSTRAINT?
можно же без него написать, в чем разница?

Далее что такое FK (FOREIGN KEY) я знаю
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE IF NOT EXISTS `Test` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `id_t` int(10) unsigned NOT NULL,
 `date_fn` datetime NOT NULL,
  PRIMARY KEY (`id`),
  INDEX (Id_t), -- на оф сайте написано надо задавать явно
  FOREIGN KEY (Id_t) REFERENCES Stock(Id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



Я совсем запутался зачем эта запись CONSTRAINT

чтобы задать имя первичному ключу и индексу.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / CONSTRAINT и FK / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]