首页 > 解决方案 > 我可以在不指定数据类型的情况下在 SQL 上创建新表吗?

问题描述

我想用空列创建新表并稍后指定数据类型。可能吗?我尝试在 myscompiler.io 上这样做,它可以工作。我不知道在这样的站点中是否有可能,或者一旦我使用其他工具编写我的 SQL,是否真的可以创建它。

标签: sql

解决方案


不可以。SQL 语法要求表定义良好,具有列名和数据类型。在我能想到的每个数据库中都是如此。

您可以通过以下三种方式之一做您想做的事:

  • 您的数据库可能支持某种可用于定义列的泛型类型。例如,SQL Server 有一个sql_variant类型。
  • 您可以使用特定类型(例如字符串)定义表,然后使用alter table.
  • 您可以使用单个主键列定义表,并在决定它们是什么时添加列。

我不推荐任何这些方法。 相反,我建议您需要重新考虑您的应用程序的结构。表代表实体,实体具有属性。通常在使用数据库时,这些事情在你开始做任何工作之前就已经知道了。在某些情况下动态表创建很有用,但这绝对不是使用数据库时的常用方法。


推荐阅读