MySQL中的外键约束用户表的创建

31创建三个表格user表 user_wallet(用户钱包)表  user_wallet_log(用户钱包日志,转账流水)表

CREATE TABLE user (  
    id INT PRIMARY KEY AUTO_INCREMENT,  
    username VARCHAR(255) NOT NULL,  
    -- 其他字段...  
    UNIQUE (username)  
);
#唯一约束是为了没有重复的用户
CREATE TABLE user_wallet (  
    id INT PRIMARY KEY AUTO_INCREMENT,  
    user_id INT NOT NULL,  
    balance DECIMAL(10, 2) NOT NULL,  
    -- 其他字段...  
    FOREIGN KEY (user_id) REFERENCES user(id)  
    -- 注意:在这里直接创建了外键,但在一些数据库系统中,你可能需要在表创建后单独添加外键  
);
#user_id必不可少,要为了此表和user之间建立一个外键来关联起来
#添加外键约束
ALTER TABLE user_wallet  
ADD FOREIGN KEY (user_id) REFERENCES user(id);

CREATE TABLE user_wallet_log (  
    log_id INT PRIMARY KEY AUTO_INCREMENT,  
    user_id INT NOT NULL,  
    wallet_change DECIMAL(10, 2) NOT NULL, -- 假设这是钱包金额的变化  
    balance_after DECIMAL(10, 2) NOT NULL, -- 假设这是变化后的钱包余额  
    log_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 记录日志的时间  
    -- 其他字段...  
    FOREIGN KEY (user_id) REFERENCES user(id)  
);
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值