-- ============================================================================ -- SNKRDUNK 日本站 爬虫建表脚本 -- 变更日期 2026/07/22 -- 表1 snkrdunk_jp_used_item : 二手出品 / 商品信息(列表页 + 详情页) -- 表2 snkrdunk_jp_trading_history : 买卖历史(交易记录) -- 说明:字段名一律按原意翻译,避开 MySQL 保留字(如 condition/status 已改名) -- ============================================================================ -- ------------------------------ 表1:商品信息 ------------------------------ CREATE TABLE IF NOT EXISTS `snkrdunk_jp_used_item` ( `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, `apparel_id` BIGINT NOT NULL COMMENT '商品(款式)ID,URL 中 /apparels/{apparel_id}', `used_item_id` BIGINT NOT NULL COMMENT '二手出品ID,URL 中 /used/{used_item_id}', `product_id` BIGINT DEFAULT NULL COMMENT '商品目录ID(catalog),交易记录接口用的就是它', `product_number` VARCHAR(128) DEFAULT NULL COMMENT '品番,如 pkmn-tcg-M-P-133', `name_ja` VARCHAR(512) DEFAULT NULL COMMENT '商品名(日文)', `name_en` VARCHAR(512) DEFAULT NULL COMMENT '商品名(英文)', `brand_id` VARCHAR(64) DEFAULT NULL COMMENT '品牌ID,如 pokemon', `brand_name` VARCHAR(255) DEFAULT NULL COMMENT '品牌名(日文)', `category_name` VARCHAR(255) DEFAULT NULL COMMENT '类目(日文),如 トレカ (シングルカード)', `quantity_text` VARCHAR(32) DEFAULT NULL COMMENT '枚数,如 1枚', `condition_grade` VARCHAR(32) DEFAULT NULL COMMENT '品相/评级,A/B/C/D/PSA10/BGS9.5/ARS10 等', `condition_desc` VARCHAR(255) DEFAULT NULL COMMENT '品相完整描述,如 B(小さなキズ/ソリがある品)', `price` INT DEFAULT NULL COMMENT '售价(日元)', `sale_status` INT DEFAULT NULL COMMENT '出品状态码,0=出品中/入札中,4=取引完了(已售)', `sale_status_text` VARCHAR(64) DEFAULT NULL COMMENT '出品状态文本,如 取引完了', `is_sold` TINYINT(1) DEFAULT NULL COMMENT '是否已售,1=SOLD,0=在售', `primary_image_url` VARCHAR(512) DEFAULT NULL COMMENT '主图URL', `image_urls` TEXT DEFAULT NULL COMMENT '全部图片URL,多个用英文逗号(,)分割', `detail_url` VARCHAR(512) DEFAULT NULL COMMENT '详情页URL', `released_at` DATETIME DEFAULT NULL COMMENT '发售时间(已转为北京时间 UTC+8)', `data_source` VARCHAR(16) DEFAULT NULL COMMENT '数据来源:list=列表页,detail=详情页', `gmt_create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', UNIQUE KEY `uk_apparel_used` (`apparel_id`, `used_item_id`), KEY `idx_product` (`product_id`), KEY `idx_is_sold` (`is_sold`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 商品信息'; -- ------------------------------ 表2:买卖历史(交易记录) ------------------------------ CREATE TABLE IF NOT EXISTS `snkrdunk_jp_trading_history` ( `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, `product_id` BIGINT NOT NULL COMMENT '商品目录ID(catalog)', `apparel_id` BIGINT DEFAULT NULL COMMENT '关联的商品(款式)ID', `product_number` VARCHAR(128) DEFAULT NULL COMMENT '品番,如 pkmn-tcg-M-P-133', `sold_price` INT NOT NULL COMMENT '成交价(日元)', `condition_grade` VARCHAR(32) DEFAULT NULL COMMENT '成交时品相/评级,A/B/C/D/PSA10 等', `quantity_text` VARCHAR(32) DEFAULT NULL COMMENT '枚数,如 1枚', `sold_at` DATETIME DEFAULT NULL COMMENT '成交时间(已转为北京时间 UTC+8,与现有管线 trading_at 一致)', `trade_index_in_second` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '同 (product_id, sold_at, 价格, 品相, 枚数) 签名内的位序 0/1/2..,用于区分同秒的多笔真实重复成交', `gmt_create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', UNIQUE KEY `uk_trade` (`product_id`, `sold_at`, `sold_price`, `condition_grade`, `quantity_text`, `trade_index_in_second`), KEY `idx_sold_at` (`sold_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 买卖历史(交易记录)';