【问题标题】:drop auto-increment fields删除自动增量字段
【发布时间】:2012-09-21 07:47:19
【问题描述】:
  1. 如果可以解决标题中的问题,请指导。我在任何地方都没有找到它。
  2. 如果可能(删除自动增量字段而不在表中命名它,请指导级别。
  3. 我可以从information_schema.columnsextra 字段中读取它并获得它的名称,然后很容易从特定表中删除该列。但我正在寻找更好的解决方案。
  4. 有没有比我的观点更好/更快的解决方案#3

问题(如果还不清楚:)

是否有任何查询/函数可以从数据库中删除所有自动增量列?或者至少有办法在不知道该列名称的情况下从特定表中删除自动增量列?

我这样想是因为一个表中只能有 0 或 1 个自增列,所以 mysql 可能有一些内置的扩展函数来处理这种类型的字段

【问题讨论】:

  • 几乎肯定不是;对这种专门的代码的需求不足,不足以让人们花时间去实现它。
  • @JonathanLeffler 有关于 point.4 的任何信息吗?和上面一样吗?
  • 信息模式加上脚本语言来生成要执行的 SQL 听起来对我来说是正确的。您甚至可以使用合适的存储过程在数据库中完成所有操作。不会提供任何解决方案;您必须使用提供的工具包构建自己的工具包。

标签: mysql auto-increment built-in


【解决方案1】:

没有这样的内置函数。您的第 3 点是在 MySQL 中执行此操作的不错选择。你也可以解析desc mytable的输出。

【讨论】:

    【解决方案2】:

    虽然没有执行此操作的内置机制,但您可以编写一个脚本来读取information_schema 并生成所有必要的alter table 命令。

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2010-10-06
      相关资源
      最近更新 更多