贝宝IPN交易数据库的推荐MySQL数据类型和大小

贝宝IPN交易数据库的推荐MySQL数据类型和大小,mysql,paypal-ipn,Mysql,Paypal Ipn,我正在开发(或者说,改进)一个利用PayPal IPN的应用程序。它将事务数据记录到MySQL数据库中 数据的实际记录没有问题。但是,我找不到关于每个可能值的建议数据类型和大小的任何信息 以下是我目前使用的内容(取自创建表的查询): 为了澄清我的问题,我需要的是关于推荐类型(显然,我使用的是varchar)和大小的信息。在最初的测试中,这似乎是可以的,但我有一个以前的过程,由于字段太短,最后得到了一些截断的数据。然而,我不想走另一个方向,让他们都“200” 有人知道推荐的字段大小吗?查看这些消息

我正在开发(或者说,改进)一个利用PayPal IPN的应用程序。它将事务数据记录到MySQL数据库中

数据的实际记录没有问题。但是,我找不到关于每个可能值的建议数据类型和大小的任何信息

以下是我目前使用的内容(取自创建表的查询):

为了澄清我的问题,我需要的是关于推荐类型(显然,我使用的是varchar)和大小的信息。在最初的测试中,这似乎是可以的,但我有一个以前的过程,由于字段太短,最后得到了一些截断的数据。然而,我不想走另一个方向,让他们都“200”


有人知道推荐的字段大小吗?

查看这些消息,我很可能会将这些消息转换为JSON,因为某些原因,固定的RDMS模型不适合。。并且只存储始终具有“可预测”格式的数据,例如事务id。。假设您使用的是支持原生JSON和生成列的MySQL版本,那么索引也不会有问题。请注意,整数数据类型后面括号中的数字基本上没有意义。
$create_transaction_table = "CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "paypal_transactions (
        id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        user_id BIGINT(20) NOT NULL,
        timestamp DATETIME NOT NULL ,
        payment_date         VARCHAR(30),
        receiver_email       VARCHAR(60),
        item_name            VARCHAR(100),
        item_number          VARCHAR(10),
        payment_status       VARCHAR(10),
        pending_reason       VARCHAR(10),
        mc_gross             VARCHAR(20),
        mc_fee               VARCHAR(20),
        tax                  VARCHAR(20),
        mc_currency          VARCHAR(10),
        txn_id               VARCHAR(30),
        txn_type             VARCHAR(10),
        transaction_subject  VARCHAR(50),
        first_name           VARCHAR(30),
        last_name            VARCHAR(40),
        address_name         VARCHAR(50),
        address_street       VARCHAR(50),
        address_city         VARCHAR(30),
        address_state        VARCHAR(30),
        address_zip          VARCHAR(20),
        address_country      VARCHAR(30),
        address_country_code VARCHAR(10),
        residence_country    VARCHAR(10),
        address_status       VARCHAR(10),
        payer_email          VARCHAR(60),
        payer_status         VARCHAR(10),
        payment_type         VARCHAR(10),
        payment_gross        VARCHAR(20),
        payment_fee          VARCHAR(20),
        notify_version       VARCHAR(10),
        verify_sign          VARCHAR(10),
        referrer_id          VARCHAR(10),
        business             VARCHAR(60),
        ipn_track_id         VARCHAR(20)
    )";