CREATE TABLE自动附加默认列?

时间:2010-06-23 15:17:55

标签: mysql

在MySQL中,是否可以在创建后附加默认列或自动创建它们?简要概述如下:

所有表必须具有5个在我们的数据库中标准化的字段(created_on,created_by,row_status等)。有时开发人员很难记住这样做和/或没有统一完成。展望未来,我们希望自动完成任务。有没有人知道是否有可能创建某种内部mysql脚本,它会自动将一组列附加到表中?

在阅读了一些回复之后,我想我会重新解释这个问题,而不是将其作为一个自动化任务(即每个表),使其成为用户触发的功能,并检查所述列和如果没有添加它们。我非常有信心这超出了SQL的范围,并且需要脚本语言才能完成,这不是一个大问题,但最好将内容封装在SQL中。

3 个答案:

答案 0 :(得分:1)

我会先说 - 不要那样做。 单独制作审计表 - 并与触发器链接。

否则,您需要通过一个程序或其他应用程序来提供您的表构造,这将创建您想要的内容。

答案 1 :(得分:1)

我不太了解MySQL特定的数据建模工具,但是没有基础设施可以为数据库中创建的每个表添加列。当你考虑有人添加了列但是有拼写错误的情况时,这种自动行为也会变得混乱。或者如果你有允许违反业务惯例的表(你列出的列通常在代码表上毫无价值)怎么办...

开发环境难以控制,但控制这种情况的最佳方法是委托责任和权限尽可能少的人。 IE:可能有5个开发人员,但只有其中一个可以将脚本应用于TEST / PROD / etc,因此他们有责任查看表脚本的正确性。

答案 2 :(得分:0)

我首先推荐Randy's answer - 这个信息可能更好地提取到其他地方。

也就是说,如果你准备添加列,ALTER TABLE可能就是你要找的。您可以考虑包括一些额外的逻辑来确定每个表缺少哪些列。