【问题标题】:Create columns that autoincrement with name in a MySQL Database在 MySQL 数据库中创建使用名称自动递增的列
【发布时间】:2012-12-20 04:18:19
【问题描述】:

我知道这似乎是一个奇怪的问题,但让我试着解释一下。我有一个名为“计划”的数据库表,其中第一列称为“用户名”,之后的列称为“问题 1”、“问题 2”等。我现在需要添加大约一百多个这样命名的列,但如果有一个 sql 语句会自动为我做这件事,那就太好了。

我知道这不是以最佳方式设置的,但如果您有解决方案,请告诉我 :)

【问题讨论】:

    标签: mysql database auto-increment


    【解决方案1】:

    在 sql 中将查询写入 excel。将递增的数字分开。向下拖动直到 excel 第 100 行。很难解释,但我想你会弄明白的。您将有 100 个递增的添加列 sql 语句。复制粘贴在查询工具上运行。

    【讨论】:

    • -1 很抱歉,这是一个糟糕的建议。一个人不会因为需要存储 100 个问题而在一个表中创建 100 列。
    • 他已经承认自己做的不正常。我只是专注于解决他的问题。我应该推荐一本关于 RDBMS 理论的书吗???
    • 坦率地说,这将是一个更好的答案。这里的想法不是盲目地回答,因为用户说他想做某事——特别是如果它明显有缺陷的话——而是为他指出正确的方向,甚至建议他阅读一篇关于良好实践的文章或书籍。跨度>
    【解决方案2】:

    没有任何 SQL 命令或功能可以自动执行此操作;确保您可以生成更改表语句并以编程方式添加列;但是,您的设计将存在严重缺陷。

    您应该创建一个包含问题、user_id(或用户名,无论是 PK 是什么)的表来保存记录,而不是添加列。如果您需要通过编号(或 ID)识别问题,只需添加另一个名为 question_id 的列。

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 2019-12-29
      • 2017-11-19
      • 2011-10-05
      • 2015-03-05
      • 1970-01-01
      • 2011-02-18
      • 2014-07-03
      相关资源
      最近更新 更多