批处理将所有MySQL列设置为全NULL

时间:2013-03-28 07:31:45

标签: mysql null

我有一个大型数据库w /一堆表和列混合一些允许NULL而其他人不允许NULL ..

我刚刚决定STANDARDIZE我的方法和所有空字段的USE NULL等。因此我需要在我的所有表中设置ALL COLUMNS以允许NULL(除了初级的课程)

我可以用一个PHP代码来循环这个,但我想知道是否有通过SQL快速完成的方法?

问候

1 个答案:

答案 0 :(得分:0)

您可以使用系统表中的元数据来确定您的表,列,类型等。然后使用它,动态构建一个包含UPDATE SQL的字符串,并将表和列名称连接到其中。然后执行此操作。

我最近发布了一个解决方案,允许OP搜索列,查找包含特定值的列。代替提供更完整答案的任何人,这应该给你一些关于如何处理这个问题的线索(或至少,研究什么)。您需要提供表名或加入它们,然后执行类似的操作,除非您要检查类型,而不是值(并且您构建的动态SQL将构建更新,而不是选择)。 / p>

我将能够在几个小时内进一步帮助您解决您的具体情况......如果到那时您没有幸运(或其他答案),那么我会提供更完整的内容。

编辑:刚刚意识到你已将其标记为mySql ...我的解决方案是针对MS SQL Server的。主体应该是相同的(因此我会留下这个答案,因为我认为它会发现它很有用),假设MySql允许您查询其元数据,并执行动态生成的SQL命令。

SQL Server - Select columns that meet certain conditions?