Mysql 何时将付款放入他们自己的SQL表中?

Mysql 何时将付款放入他们自己的SQL表中?,mysql,sql,Mysql,Sql,我有一个系统,用户发布数据,他们可以通过选择付费升级来升级他们的帖子。这是我想在他们的付款响应中存储的信息: CREATE TABLE IF NOT EXISTS `db`.`pay` ( `payments_id` int(11) NOT NULL AUTO_INCREMENT payment, unique index', `stripe_id` `card_id` `brand` `amount` `created` `currency` `paid`

我有一个系统,用户发布数据,他们可以通过选择付费升级来升级他们的帖子。这是我想在他们的付款响应中存储的信息:

CREATE TABLE IF NOT EXISTS `db`.`pay` (
  `payments_id` int(11) NOT NULL AUTO_INCREMENT
   payment, unique index',
  `stripe_id`
  `card_id`
  `brand`
  `amount`
  `created`
  `currency`
  `paid`
  `refunded`
  `exp_month`
  `exp_year`
  `last4`
  `country`
  `fingerprint`
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='payments';
这应该与包含主要帖子数据的表在同一个表中,还是应该是一个单独的链接表。做出这个决定的逻辑是什么


一方面,将其分开似乎很好,但这样也会增加链接表的开销。一次投递只能关联一笔付款。

卡数据应位于另一个表中,该表中的用户ID链接到您的用户表

由于对你想要达到的目标了解有限,我想说你至少需要3张桌子

  • 用户表
  • 用户ID链接回用户表的Post表
  • 用户ID链接回用户表的支付卡表

  • 在这种情况下,付款是一个薄弱的实体,因为没有父项它就不可能存在。严格来说,它可能应该是它自己的表,正如您已经想到的那样。做出这一决定的逻辑可以归结为最终将支付多少百分比的人。如果该数字较低,则它应该是它自己的表,以防止大多数记录具有大量的
    null
    值。只有一个意见。谢谢,这很有帮助很酷。这就是我的结构。这种格式允许多种付款方式。如果它回答了您的问题,请标记:)