在MySQL中使主键不“自动递增”吗?

问题描述 投票:0回答:1

是否有可能使主键(将用作外键)不具有自动增量功能。想象一个演员从其他来源输入他/她的ID。我想将此随机int值存储为primary

mysql sql database datatables primary-key
1个回答
0
投票

是。

您实际上必须指定AUTO INCREMENT或数据类型SERIAL,它才能自动递增值。如果此PRIMARY KEY将引用的FOREIGN KEY是数据类型SERIAL,则需要将FOREIGN KEY的数据类型设为BIGINT UNSIGNEDSERIAL实际上是将列设置为BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的别名。将FOREIGN KEY设置为BIGINT UNSIGNED会赋予它与串行相同的整数范围。

请记住,PRIMARY KEY必须是唯一的。因此,如果该表打算具有多个记录,而这些记录将引用另一个表中的单个记录,则最好制作一个PRIMARY KEY类型的SERIAL,然后再创建另一个列作为您的FOREIGN KEY输入BIGINT UNSIGNED

© www.soinside.com 2019 - 2024. All rights reserved.