Да.
Вы должны указать AUTO INCREMENT
или тип данных SERIAL
, чтобы он автоматически увеличивал значения. Если ваш PRIMARY KEY
, на который будет ссылаться этот FOREIGN KEY
, относится к типу данных SERIAL
, то вам нужно будет сделать FOREIGN KEY
тип данных BIGINT UNSIGNED
. SERIAL
фактически является псевдонимом для установки столбца на BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
. Установка FOREIGN KEY
в BIGINT UNSIGNED
даст ему тот же диапазон целых чисел, что и в последовательном.
Помните, что PRIMARY KEY
должен быть уникальным. Таким образом, если в этой таблице должно быть несколько записей, которые будут ссылаться на одну запись в другой таблице, вам может быть лучше создать PRIMARY KEY
типа SERIAL
, а затем иметь другой столбец с вашим FOREIGN KEY
, который введите BIGINT UNSIGNED
. Это позволит вам иметь несколько записей с одинаковым значением для столбца FOREIGN KEY
, но у вас все равно будет действительный PRIMARY KEY