MySQL | 复合主键、外键创建

12 篇文章 2 订阅

复合主键为一个表中多个主键来确定数据的唯一性。

CREATE TABLE IF NOT EXISTS active_user(
logindate DATE,
uid VARCHAR(225),
new_user INT,
PRIMARY KEY(logindate,uid)
);
## 外键分开写会报错
mysql> CREATE TABLE IF NOT EXISTS  receive_red_packets(
    -> receive_date DATE,
    -> receive_datetime DATETIME,
    -> uid VARCHAR(225),
    -> money FLOAT,
    -> FOREIGN KEY(receive_date) REFERENCES active_user(logindate),
    -> FOREIGN KEY(uid) REFERENCES active_user(uid)
    -> );
ERROR 1822 (HY000): Failed to add the foreign key constraint. Missing index for constraint 'receive_red_packets_ibfk_2' in the referenced table 'active_user'

mysql> CREATE TABLE IF NOT EXISTS  receive_red_packets(
    -> receive_date DATE,
    -> receive_datetime DATETIME,
    -> uid VARCHAR(225),
    -> money FLOAT,
    -> FOREIGN KEY(receive_date,uid) REFERENCES active_user(logindate,uid)
    -> );
Query OK, 0 rows affected (0.05 sec)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值