использование auto_increment в составном ключе

У меня есть таблица с составным ключом

emp_tbl(
companyId int not null,
empId int not null auto_increment,
name varchar2,
....
...
primary key(companyId,empId)
);

В MySQL происходит, пока я начинаю вставлять данные

Emp_tbl

companyId    empId
1             1
1             2
1             3
2             1
2             2

Обратите внимание, что при изменении companyId значение auto_increament снова сбрасывается в 1. Я хочу отключить это. Я имею в виду, я не хочу сбрасывать auto_increament. Я ожидаю такого результата.

companyId    empId
1             1
1             2
1             3
2             4
2             5

Возможно ли это сделать? Спасибо

Ответы на вопрос(2)

Решение Вопроса

Это то, что происходит с составным первичным ключом, который включает auto_increment. Воссоздайте первичный ключ так, чтобы это было только ваше поле auto_increment (empId), затем создайте уникальный индекс для companyId и empId.

РЕДАКТИРОВАТЬ

Обратите внимание, что это относится только к таблицам MyISAM и BDB. Если бы вы использовали InnoDB для своих таблиц, то он также работал бы так, как вы хотели

 effkay25 сент. 2011 г., 14:13
работал как шарм на innodb! ура!
 underrun20 мар. 2014 г., 18:45
есть ли способ заставить innodb работать как MyISAM и BDB для этого?

Если вы не хотите, чтобы empId сбрасывал, просто измените порядок первичного определения

primary key(companyId,empId)

обратите внимание, что порядок составных ключей имеет значение.

Ваш ответ на вопрос