mysql - 复合键中的 AUTO_INCRMENT

标签 mysql database-design auto-increment composite-key

我有如下表格

个人信息

CREATE TABLE personalInfo(userid BIGINT AUTO_INCREMENT PRIMARY KEY)

专利信息

CREATE TABLE patentInfo 
(
 userid BIGINT,
 patentId BIGINT AUTO_INCREMENT,
 FOREIGN KEY (userid) REFERENCES personalInfo(userid), 
 PRIMARY KEY (userid,patentId)
)

创建表patentInfo时,我收到错误

Incorrect table definition; there can be only one auto column and it must be defined as a key.

我想做的是为用户添加专利。因此,我尝试使用 patentId 作为 AUTO_INCRMENT 并将 compiste 主键保留为 patentIduserid 的组合。

知道如何完成此任务吗?

更新 1:

我的目标是,我不想在 mysql 查询中插入 patentId 。 mysql 本身将创建下一个数字。

最佳答案

由于patentIdAUTO_INCRMENT,那么它应该是主键。

关于mysql - 复合键中的 AUTO_INCRMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326662/

相关文章:

php - mysql:使用 SET 还是很多列?

mysql - MySQL 自动增量是如何工作的?

mysql - 带有if条件的Mysql触发器中的语法错误

MySQL:对太长而无法索引的列进行高效查询

php - 匹配选择最新行的主要问题

java - Java-MySQL高负载应用程序崩溃

php - 从其他用户领域生成盐

php - 如何连接其他表关联的多个表

mysql - 在插入操作期间在字符串连接中使用标识列

mysql - JPA one_to_one关系不检索自动增量