【问题标题】:How to add additional Value in MySQL DB如何在 MySQL 数据库中添加附加值
【发布时间】:2015-04-26 04:18:00
【问题描述】:

如何向表中的字段添加一个值?

我通过下面的mysql更新字段,但它只是更新了值。

UPDATE table SET value= 3 WHERE id= 1

所以这是我真正想做的事情:

在我增加价值之前

+--------------+
| table        |
+--------------+
| id   | value |
+--------------+
| 1    | 1     |
+--------------+
| 2    | 2     |
+--------------+

我增值后

+-------------------+
| table             |
+-------------------+
| id   | value      |
+-------------------+
| 1    | 1 , 3      |
+-------------------+
| 2    | 2          |
+-------------------+

【问题讨论】:

  • 你的值列是什么类型的?
  • 你可以这样做UPDATE table SET value="1,3" WHERE id= 1 :)
  • 你不应该在一个数据库字段中有多个值。这打破了第一范式。阅读有关数据库规范化的更多信息。

标签: mysql sql-update multiple-value


【解决方案1】:

您似乎正在为“值”列使用整数字段,您不能在一个整数字段中存储多个数字,您可以将“id”和“值”列设置为主键,所以您将能够为同一个 ID 插入多个值。如果这不是您想要的,请考虑使用“SET”类型。 欲了解更多信息https://dev.mysql.com/doc/refman/5.0/en/set.html

【讨论】:

  • 第一个建议,使用复合键,是解决这个问题的方法。您应该为每个值设置一行以保持规范化。
【解决方案2】:

我有一种感觉不是,但如果这确实是你想要发生的事情......

UPDATE table SET value=CONCAT(value, ' , ', 3) WHERE id=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2016-04-24
    • 2023-01-17
    • 2010-12-06
    相关资源
    最近更新 更多