自定义主键

时间:2013-10-16 10:14:05

标签: mysql sql insert int lampp

假设我创建了这个表

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个数字整数,例如第一个条目的id应该具体为“3012302509”

所以我使用insert:

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

但是ID会变成我写的“1510312374”以外的其他数字,即使我写了上面所做的,我怎样才能让它接受我在insert命令中输入的数字作为id?

2 个答案:

答案 0 :(得分:1)

看起来像一个值溢出。在mysql中可能存在INT的最大值。这取决于您的数据库系统,哪种类型更适合您的值。在MySQL中你可以例如改为使用BIGINT或NUMERIC

答案 1 :(得分:0)

将列数据类型更改为数字(10,0)。