主键(Primary Key):
外键(Foreign Key):
主键的优势:
外键的优势:
主键类型:
外键类型:
主键的应用场景:
外键的应用场景:
问题1:如何创建主键和外键?
-- 创建主键
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL
);
-- 创建外键
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
问题2:外键约束导致的插入失败怎么办?
如果插入的数据违反了外键约束,可以采取以下措施:
-- 禁用外键约束
SET FOREIGN_KEY_CHECKS = 0;
-- 插入数据
INSERT INTO orders (order_id, user_id, order_date) VALUES (1, 100, '2023-10-01');
-- 重新启用外键约束
SET FOREIGN_KEY_CHECKS = 1;
问题3:如何处理级联更新或删除?
可以在创建外键时设置级联操作:
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
);
这样,当删除或更新users
表中的记录时,相关的orders
表中的记录也会被级联删除或更新。
希望这些信息对你有所帮助!如果有更多问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云