加上支付类型,说明是支付还是退款,若是退款则自表关联记录支付的id
时间: 2023-12-10 11:02:56 浏览: 124
好的,以下是更新后的MySQL语句:
```
CREATE TABLE payments (
id INT NOT NULL AUTO_INCREMENT,
order_id INT NOT NULL,
user_id INT NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
payment_type VARCHAR(20) NOT NULL,
payment_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
payment_status ENUM('支付', '退款') NOT NULL DEFAULT '支付',
refund_payment_id INT,
PRIMARY KEY (id),
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (refund_payment_id) REFERENCES payments(id)
);
```
这个表包含了以下字段:
- id:支付记录的唯一标识,自增长整数类型;
- order_id:订单的唯一标识,整数类型,不可为空;
- user_id:支付用户的唯一标识,整数类型,不可为空;
- amount:支付金额,保留两位小数的十进制数类型,不可为空;
- payment_type:支付类型,使用字符串类型,不可为空;
- payment_date:支付日期和时间,时间戳类型,设置默认值为当前时间,不可为空;
- payment_status:支付状态,使用枚举类型,可选值为'支付'和'退款',不可为空,默认值为'支付';
- refund_payment_id:退款时记录的支付记录id,整数类型,可为空;
- PRIMARY KEY (id):将id列设置为主键;
- FOREIGN KEY (order_id) REFERENCES orders(id):将order_id列设置为外键,引用了订单表中的id列;
- FOREIGN KEY (user_id) REFERENCES users(id):将user_id列设置为外键,引用了用户表中的id列;
- FOREIGN KEY (refund_payment_id) REFERENCES payments(id):将refund_payment_id列设置为外键,引用了该表中的id列。
请注意,这里的orders和users是外部表,如果你还没有创建这些表,请先创建。
阅读全文