Пользовательский первичный ключ

Допустим, я создаю эту таблицу

CREATE TABLE staff
(
id int(10),
dep int(1),
name varchar(45),
email varchar(45),
PRIMARY KEY (id),
FOREIGN KEY (dep) REFERENCES department(id)
);

Но я не хочу, чтобы "id" был случайным числом, я хочу, чтобы оно было конкретным 10-значным целым числом для каждой записи, например, идентификатор первой записи должен быть конкретно "3012302509"

Поэтому я использую вставку:

INSERT INTO staff VALUES (3012302509, 1, 'Arnar Arnarsson', 'arni@yorozuya.is');

Но идентификатор превратится в другое число, отличное от того, что я написал, например, "1510312374", даже если я напишу то, что сделал выше, как я могу заставить его принять число, введенное в команде вставки, в качестве идентификатора?

2 ответа

Это выглядит как переполнение значения. Возможно, есть максимальное значение для INT, как в MySQL. Это зависит от вашей системы баз данных, какой тип больше подходит для ваших значений. В MySQL вы могли бы, например, использовать BIGINT или NUMERIC вместо

Измените тип данных столбца на числовой (10,0).

Другие вопросы по тегам