【问题标题】:MYSQL how i can ADD column that has comma separated name [duplicate]MYSQL我如何添加具有逗号分隔名称的列[重复]
【发布时间】:2018-01-28 12:37:09
【问题描述】:

我想在表格中添加列。列名是姓名,姓氏 我如何在已创建的表中添加此列? 比如alter table MyTable ADD name,surname Varchar(100) ???

【问题讨论】:

  • 这听起来像XY problem。你为什么要把两个值塞进一列?
  • 我认为没有真正的理由这样做。
  • 我的列名是 (aaaa,bbb) 我想将其添加为一个列名
  • 如果你坚持让一切变得更麻烦:奇怪的列名只需要用反引号括起来。 (再次/未来的用户:不要这样做。只是对问题标题的字面回答。)
  • 这个想法太可怕了。不要这样做。

标签: php mysql sql


【解决方案1】:

添加两个单独的列:

alter table mytable add name varchar(100);
alter table mytable add surname varchar(100);

如果您希望将这些值放在一个列表中,只需将它们连接在一起即可:

select concat_ws(', ', surname, name) as surname_name

不要将它们组合成一列。

【讨论】:

  • 我的栏目名称是 aaaaa,bbbbb 以逗号分隔
  • @RezoKobaidze 。 . .在应用层分解它。它包含两个独立的元素。每个都应该有自己的列(或行)。
  • 我知道,但是可以添加逗号分隔名称的列吗???
  • @RezoKobaidze 。 . .您可以使用反引号。它们是 MySQL 中的转义字符。但不要这样做!如果您想要一个名称的两个部分,请用下划线分隔它们:name_surname。这样以后查询起来就容易多了。
【解决方案2】:
ALTER TABLE tablename ADD COLUMN `name,age` VARCHAR(45) NULL DEFAULT NULL;

姓名、年龄必须在否定符号之间。 我在这里输入它,但在我发布后它没有显示在 UI 上。 这里 ` 是键盘上面的标签。

这些否定符号内的任何内容都被视为列名。

【讨论】:

  • 非常感谢它的帮助示例:
  • 那个标志有帮助
猜你喜欢
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多