何时将付款放在自己的SQL表中?

时间:2014-09-05 12:46:45

标签: 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`
  `refunded`
  `exp_month`
  `exp_year`
  `last4`
  `country`
  `fingerprint`
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='payments';

这应该与包含主要帖子数据的表格在同一个表格中,还是应该是一个单独的链接表格。用什么逻辑做出这个决定?

一方面将它分开似乎很好但是你也有连接表的开销。只有一笔付款与一个帖子相关联。

1 个答案:

答案 0 :(得分:2)

卡片数据应位于不同的表格中,其中userId链接到您的用户表格。

由于对你想要达到的目标知之甚少,我会说你需要至少3张桌子。

  1. 用户表
  2. 将userId链接回用户表
  3. 的帖子表
  4. 支付卡表,其中userId链接回用户表