2016-06-17 4 views
1

Я хочу добавить поле автоматического приращения в один из столбцов в MySQL, который будет выступать в качестве основного ключа моей таблицы. Я видел сообщение, в котором описывается, как это сделать с помощью триггеров. Есть ли другой способ сделать это?добавление поля автоинкремента в mySQL с префиксом

+1

Нет. Auto_increments - это числа и не могут содержать в себе какие-либо нечисловые значения. поэтому вам нужен триггер для добавления любых префиксов/суффиксов ПОСЛЕ создания идентификатора. –

+0

В некоторых системах баз данных вы можете использовать Sequences и значение столбца по умолчанию для этого; Я не знаю, поддерживает ли MySQL это или нет. – GendoIkari

+0

. У вас есть отдельный столбец с вашим «внутренним ключом» для связывания ваших данных? Зачем? Оставьте механизм базы данных следить за отношениями между таблицами. Вы следите за отношениями между вашими данными? –

ответ

0

Я знаю, что используется механизм хранения MyISAM, не уверен, что он все еще делает, что-то вроде того, что вы хотите.

Это не в том же поле, но если первичный ключ является составным, содержащим поле с автоматическим приращением, значение поля основывается на других значениях ключа (не помните, если это только предшествующие в ключевом определении или все).

Simple example: 
PK: name, auto_id 
Data ends up being something like: 
red, 1 
blue, 1 
red, 2 
red, 3 
blue, 2 
yellow, 1 
Смежные вопросы