我熟悉type affinity在SQLite中的工作方式:您可以将列类型声明为您想要的任何内容,所有重要的是类型名称是否包含“INT”,“CHAR”,“FLOA”,但是,对于使用什么类型的名称,是否有常用的约定?
例如,如果你有一个整数列,区分TINYINT,SMALLINT,MEDIUMINT和BIGINT是否更好,或者只是将所有内容都声明为INTEGER?
到目前为止,我一直在使用以下内容:
(请注意,最后三个与类型亲和力相反。)
答案 0 :(得分:1)
我建议不要使用自定义类型。我在版本3.5.6中观察到,尚未定义的类型有时会导致INSERT命令被拒绝。也许是千分之一。我不知道自那以后是否解决了这个问题。
在任何情况下,键入TINYINT或SMALLINT列都没有大小优势。唯一的优势是在SQLite之外,用于使用其他程序解析列类型或满足您个人的整洁需求。所以我强烈建议使用SQLite定义的基类型并坚持使用。
答案 1 :(得分:0)
由于SQLite是无类型的,因此使用任何类型都可以更轻松地查看模式的外观。或者您可以将类型与代码库匹配。
答案 2 :(得分:0)
我打算和凯文一起去。简而言之,要把自己打倒。如果适合您的架构,请构建全新的数学领域。使用ORM的类名。或者为前女友命名每种类型(PRIMARY KEY INTEGER除外)。最后,SQLite更多地是关于如何访问和使用数据。