可以,自增列(AUTO_INCREMENT / IDENTITY 等)是可以作为外键的。
自增列本质上只是一个自动生成值的列,它和普通列没有本质区别。只要满足外键约束的基本要求即可:
外键约束的基本要求:
这是非常常见的设计,例如:
-- 用户表
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
-- 订单表
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES user(id)
);
这里:
user.id 是自增主键orders.user_id 是外键ON DELETE CASCADE 等✅ 自增列可以作外键
✅ 常用于“自增主键被其他表引用”
❌ 但外键列本身一般不需要自增
如果你用的是 MySQL / PostgreSQL / SQL Server,我也可以给你对应具体语法的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。