(MySQL新手提醒)
我从一个API调用中收到一个字段price的值,它们几乎总是一个字符串
u'price': u'$49.99',
不过,有时有两个价格(前一个价格和当前价格),API将它们放在Python列表中:
u'price': [
u'$9.99',
u'$1,099.99'
],
当我的列price
定义为varchar(255)
时,当价格是一个列表时,插入失败。我不想把这样的价格分成两列。我知道我可以在插入之前使用Python将列表分解成一个字符串,但是MySQL中有没有一种方法同时允许一个字符串和一个列表呢?你知道吗
Tags:
看来你在试图解决两个不同的问题。首先,我认为您的模式是正确的,因为您将值存储为varchar而不是十进制(特别是因为您没有对它进行计算)。
第二,MySQL使用关系代数,因此值的“列表”概念没有意义。将每一行存储为自己不同的行(元组),并在运行时将它们重新连接在一起。你知道吗
但是,我认为您需要考虑以下方法:
创建具有以下属性的新表:
这将使您能够正确处理从供应商处返回的API调用。我认为API是不确定的,因为有两种返回可能发生。返回应该(在我看来)总是以列表/数组的形式返回,以确保消费者总是能够处理响应而不需要撤销负担(但这超出了范围)
相关问题 更多 >
编程相关推荐