返回数据库常见问题
帮助中心 · 常见问题数据库1 分钟阅读

为什么 SQL Database 会拒绝其他数据库系统的语法?

IaGenify SQL Database 使用 SQLite 方言,因此 PostgreSQL、MySQL 或 SQL Server 专有语法可能无法运行。请使用受支持的 SQLite 语法,以及文档说明的函数和参数格式编写查询。

数据库

识别 SQL 方言

SQL 有共同基础,但不同数据库系统在函数、数据类型、日期处理、标识符和特殊命令方面各不相同。PostgreSQL 中有效的语句可能包含 SQLite 无法识别的语法或函数。

IaGenify 将 SQL Database 说明为 SQLite 方言,并建议用 `?` 占位符和 `params` 传递值。

例如,SQLite 通常使用 TEXT 或 INTEGER 存储日期,并提供 `date()`、`datetime()` 和 `strftime()` 等函数。字符串连接使用 `||`,结果分页可以使用 `LIMIT` 和 `OFFSET`。

请核对具体需要的功能,不要假设熟悉的命令在所有数据库引擎中行为相同。

安全地调整并测试查询

先使用文档所述方言执行读取查询,并检查返回行。迁移其他数据库的查询时,明确替换专用日期函数、类型转换或语法,并确认当前架构如何存储各项数据。参数用于传递数据值,不能代替表名或列名。

工具还会拒绝 ATTACH、DETACH 和 VACUUM INTO 等命令。如果迁移或维护依赖不支持的命令,请使用受支持的导出、导入或管理方式,而不是反复改写同一语句。

修改架构或数据前,请保留重要数据的副本。

返回数据库常见问题