如果在 SQLite 中不指定新列的数据类型怎么办?
Posted
技术标签:
【中文标题】如果在 SQLite 中不指定新列的数据类型怎么办?【英文标题】:What if you don't specify the datatype of new column in SQLite? 【发布时间】:2019-11-10 01:49:34 【问题描述】:如果不指定新列的数据类型怎么办
ALTER TABLE celebs
ADD COLUMN twitter_handle TEXT; #what if we don't specify it's datatype TEXT?
SELECT * FROM celebs;
【问题讨论】:
你为什么不自己运行这个alter语句然后找出答案?即使它可以正常工作(它可能),也不希望运行这样的语句。 @Jerome 是的,我想知道如果没有设置数据类型会发生什么,没有错误,但我想知道你是否可以通过这种方式将各种数据插入其中 @TimBiegeleisen 假设 sqlite 标签是正确的,它不应该“出错”。但是,如果不阅读文档,sqlite 类型的亲和力会是什么并不是很明显,所以简单地运行它不会透露细节,除非它不会导致错误。 @Thesnake123 实际上,您可以将任何类型的数据插入到任何 sqlite 列中,而不管列的类型如何。如果您阅读文档,您会发现 sqlite 没有严格的类型,而是一种类型亲和性,它规定了如何解释、存储和比较某些值。 对于几乎所有其他 DBMS,这只会导致错误 【参考方案1】:对于 sqlite,类型不是必需的。默认类型亲和性将为 NUMERIC。详情请参阅official documentation。
【讨论】:
以上是关于如果在 SQLite 中不指定新列的数据类型怎么办?的主要内容,如果未能解决你的问题,请参考以下文章