主键(Primary Key):
外键(Foreign Key):
主键的优势:
外键的优势:
主键类型:
外键类型:
主键的应用场景:
外键的应用场景:
-- 创建用户表
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
-- 创建订单表
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
order_date DATE NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- 查询所有订单及其对应的用户信息
SELECT orders.order_id, orders.order_date, users.username, users.email
FROM orders
JOIN users ON orders.user_id = users.user_id;
问题1:外键约束失败
-- 禁用外键检查
SET FOREIGN_KEY_CHECKS = 0;
-- 插入数据
INSERT INTO orders (user_id, order_date) VALUES (1, '2023-10-01');
-- 启用外键检查
SET FOREIGN_KEY_CHECKS = 1;
问题2:主键冲突
-- 使用自增主键
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云