解决方法
我建议在sqlite的sql版本之前学习标准sql. sqlite允许许多数据库不允许的很多事情(例如自动类型转换和不完整的GROUP BY子句).此外,sqlite中的所有内容都存储为字符串,但其他版本的sql则不是这样.
sqlite和标准sql中的大多数sql用法都是相同的,但值得了解陷阱. sqlite可以让你逃避标准sql没有的各种事情.如果从sqlite开始,那么移动到另一个数据库时会遇到很多麻烦.但是,如果您从更标准的sql实现(例如Postgresql或sql Server)开始,那么下载到sqlite将很容易.
在学习标准sql时,您可能希望在学习标准sql之前/之后学习一些sqlite文档,以便了解这些差异:
> SQL As Understood By SQLite
> SQL Features That SQLite Does Not Implement
> Distinctive Features Of SQLite
而且,因为你将从C使用sqlite:
> An Introduction To The SQLite C/C++ Interface
我不是在批评sqlite. sqlite是一个出色的嵌入式数据库,非常适合其用途.问题是从松散的环境(例如sqlite甚至MysqL)转向更严格的环境(Postgresql,sql Server,Oracle,……)可能很困难而且令人沮丧.从标准(或“正确”)方式开始可能会节省一些痛苦和痛苦.