sql - 我可以在不指定数据类型的情况下在 SQL 上创建新表吗?
问题描述
我想用空列创建新表并稍后指定数据类型。可能吗?我尝试在 myscompiler.io 上这样做,它可以工作。我不知道在这样的站点中是否有可能,或者一旦我使用其他工具编写我的 SQL,是否真的可以创建它。
解决方案
不可以。SQL 语法要求表定义良好,具有列名和数据类型。在我能想到的每个数据库中都是如此。
您可以通过以下三种方式之一做您想做的事:
- 您的数据库可能支持某种可用于定义列的泛型类型。例如,SQL Server 有一个
sql_variant
类型。 - 您可以使用特定类型(例如字符串)定义表,然后使用
alter table
. - 您可以使用单个主键列定义表,并在决定它们是什么时添加列。
我不推荐任何这些方法。 相反,我建议您需要重新考虑您的应用程序的结构。表代表实体,实体具有属性。通常在使用数据库时,这些事情在你开始做任何工作之前就已经知道了。在某些情况下动态表创建很有用,但这绝对不是使用数据库时的常用方法。
推荐阅读
- javascript - 项目缺少 node_modules 目录但 npm intall 失败
- javascript - 无法读取未定义的 nuxt / vuex 的属性
- javascript - 使用 onClick 和 eventListener 删除项目
- java - 重复类 android.support.v4.accessibilityservice
- python - Seaborn 热图颜色条不显示零
- typescript - 无法读取未定义的属性(读取“订阅”)
- java - 单击签名报告时缺少密钥库
- r - 使用 R 根据列值过滤大型数据框
- javascript - 我应该如何编写此条件以使按钮 onClick 函数对我的数组执行我想要的操作?
- sharepoint - SharePoint Online:使用 JSON 列格式获取表单内的查找列值