我有一个定义了主键的表(post_id,category_id)。这个表实现了Many_Many关系。如何在此表中添加自动增量字段(我通常使用auto_increment字段来轻松获取记录并在表单中使用auto_increment值)。当我尝试添加auto_increment字段时,我收到此错误:
Multiple primary key defined
当我有复合主键时,是否需要有auto_increment字段?如果是的话怎么做?
答案 0 :(得分:1)
如果表具有自动增量字段,则它必须是主键。只能有一个主键。
我不会仅仅为了它而创建一个自动增量,因为它意味着你必须在字段上添加一个唯一的索引,这是PK的自然候选。
在这种情况下,我唯一一次创建auto_increment,如果自然PK包含不合适的数据类型(varchar等),或者PK会很大(以字节为单位)或跨越很多列
答案 1 :(得分:0)
post_id,category_id应该是您的联接表的外键。
它应该是这样的:
--------------
post_category
==============
pkId (pk) (auto increment)
post_id (fk -> post table)
category_id (fk-> category table)
--------------