【发布时间】:2013-10-01 13:23:13
【问题描述】:
我正在尝试将不同的数字(如“10 11 12”)插入 MySQL 字段(数字来自 PHP),但是当我进行查询时,该字段只获取第一个数字。
例如,我这样做:
UPDATE profile SET subcategory = '10 11 12' WHERE userId = 1 LIMIT 1
而数据库只注册 '10'。
有什么办法吗?
【问题讨论】:
-
这听起来像是一个 XY 问题。请告诉我们关于 X.meta.stackexchange.com/questions/66377/what-is-the-xy-problem
-
了解联接。你需要另一张桌子。
-
该字段有多大?看起来可能会被截断?
-
如果 subcategory 是 int 类型,则将其转换为 int,因此第一个正确的 int 为 10 将被放入表中
-
我不知道还有什么更可悲的,人们建议更改字段长度或字段类型。很明显这是糟糕的数据库设计。如果您将多个子类别分配给单个配置文件,则插入更多行,每行是 subcategory_id 链接到相同的 profile_id/user_id 或其他。这些是基础。至于走坏路——那是个人选择。而那些建议增加字段长度/类型的人只是证明,当所有新手都能获得它时,这个网站上的声誉毫无意义。