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

Canonical URL: https://help.iagenify.com/zh/faqs/databases/sql-database

[← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)

帮助中心 · 常见问题 数据库 1 分钟阅读
# 为什么 SQL Database 会拒绝其他数据库系统的语法？
IaGenify SQL Database 使用 SQLite 方言，因此 PostgreSQL、MySQL 或 SQL Server 专有语法可能无法运行。请使用受支持的 SQLite 语法，以及文档说明的函数和参数格式编写查询。
IaGenify
数据库

## 识别 SQL 方言
SQL 有共同基础，但不同数据库系统在函数、数据类型、日期处理、标识符和特殊命令方面各不相同。PostgreSQL 中有效的语句可能包含 SQLite 无法识别的语法或函数。
IaGenify 将 SQL Database 说明为 SQLite 方言，并建议用 `?` 占位符和 `params` 传递值。
例如，SQLite 通常使用 TEXT 或 INTEGER 存储日期，并提供 `date()`、`datetime()` 和 `strftime()` 等函数。字符串连接使用 `||`，结果分页可以使用 `LIMIT` 和 `OFFSET`。
请核对具体需要的功能，不要假设熟悉的命令在所有数据库引擎中行为相同。
## 安全地调整并测试查询
先使用文档所述方言执行读取查询，并检查返回行。迁移其他数据库的查询时，明确替换专用日期函数、类型转换或语法，并确认当前架构如何存储各项数据。参数用于传递数据值，不能代替表名或列名。
工具还会拒绝 ATTACH、DETACH 和 VACUUM INTO 等命令。如果迁移或维护依赖不支持的命令，请使用受支持的导出、导入或管理方式，而不是反复改写同一语句。
修改架构或数据前，请保留重要数据的副本。 [← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)
