VIRUS
Новичок
primary_key по двум полям в innodb
Здравствуйте, есть таблица InnoDB с полями: page_id (autoincrement) и lang_id.
[SQL]CREATE TABLE `pages` (
`page_id` int(10) unsigned NOT NULL auto_increment,
`lang_id` int(10) unsigned NOT NULL,
`page_alias` varchar(255) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`page_id`,`lang_id`),
UNIQUE KEY `page_id` (`page_id`,`lang_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;[/SQL]
Но при добавлении двух записей с разным `lang_id`, поле `page_id` тоже разное, а мне надо что бы autoincrement по полю page_id добавлял новый идентификатор только, если поле с `lang_id` уже существует.
Тоесть при запросах:
[SQL]
INSERT INTO `pages` SET `lang_id`=1;
INSERT INTO `pages` SET `lang_id`=2;
[/SQL]
В поле `page_id` должно быть значение 1.
Здравствуйте, есть таблица InnoDB с полями: page_id (autoincrement) и lang_id.
[SQL]CREATE TABLE `pages` (
`page_id` int(10) unsigned NOT NULL auto_increment,
`lang_id` int(10) unsigned NOT NULL,
`page_alias` varchar(255) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`page_id`,`lang_id`),
UNIQUE KEY `page_id` (`page_id`,`lang_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;[/SQL]
Но при добавлении двух записей с разным `lang_id`, поле `page_id` тоже разное, а мне надо что бы autoincrement по полю page_id добавлял новый идентификатор только, если поле с `lang_id` уже существует.
Тоесть при запросах:
[SQL]
INSERT INTO `pages` SET `lang_id`=1;
INSERT INTO `pages` SET `lang_id`=2;
[/SQL]
В поле `page_id` должно быть значение 1.