php - 将数字插入单个字段 MySQL

标签 php mysql integer

我试图将不同的数字(如“10 11 12”)插入 MySQL 字段(数字来自 PHP),但是当我进行查询时,该字段只获取第一个数字。

例如,我这样做:

UPDATE profile SET subcategory = '10 11 12' WHERE userId = 1 LIMIT 1

数据库只记录“10”。

有什么办法吗?

最佳答案

发生这种情况是因为你正在更新一个数字,可能是一个整数,所以 mysql 只为第一个数字做这项工作。

如果你这样做:

UPDATE profile SET subcategory = 10 WHERE userId = 1 LIMIT 1
UPDATE profile SET subcategory = 11 WHERE userId = 1 LIMIT 1
UPDATE profile SET subcategory = 12 WHERE userId = 1 LIMIT 1

您只需使用第三个值 (12) 更新类别。

我建议您使用属于多个子类别的用户,这样您就必须创建另一个表。例如:一个名为 subcategories 的表,至少有两个字段:userId 和 subcategoryId。然后你可以做这样的事情:

DELETE FROM subcategories WHERE userId=1
INSERT INTO subcategories (userId, subcategory) VALUES (1,10)
INSERT INTO subcategories (userId, subcategory) VALUES (1,11)
INSERT INTO subcategories (userId, subcategory) VALUES (1,12)

第一行(删除)仅用于更新用户的子类别,首先删除用户的所有旧子类别,然后插入新的子类别。在 PHP 中,您可以使用 foreach() 来自动插入多个值。

您也可以在配置文件表中有一个非唯一的 userId,每个用户子类别都有一个条目,但这会使事情复杂化。

希望对你有帮助

关于php - 将数字插入单个字段 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19117367/

相关文章:

java - 如何从字符串转换为整数?使用 valueOf() 继续获取 NumberFormatException;

python - 将字符串转换为整数的快速有效的方法

PHP : writing a simple removeEmoji function

php - 如何从数据库中删除除大列表之外的所有文件?

java - Tomcat + hibernate = 找不到查询类的持久类

mysql - 带有 bool 值的 mysql json_extract 中的奇怪行为

带有 Optgroups 的 PHP mySQL 选择框

java - 生成 x 个整数分区

php - Paypal :标准结账返回

php - CakePHP 跳过 select * 语句中的字段