# RuntimeError: 此 Flask 应用上已注册了 'SQLAlchemy' 实例。请改为导入并使用该实例。

- **ID:** `python/flask-sqlalchemy-multiple-instances`
- **领域:** python
- **类别:** config_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

在不同模块中创建了两个 db = SQLAlchemy() 对象，并且都调用了 init_app(app)。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.x | active | — | — |

## 解决方案

1. **** (95% 成功率)
   ```
   Create db once in extensions.py: from flask_sqlalchemy import SQLAlchemy; db = SQLAlchemy()  # import everywhere else
   ```
2. **** (92% 成功率)
   ```
   In factory: from .extensions import db; db.init_app(app)  # only once
   ```

## 无效尝试

- **** — Raises again; second instance is unusable. (90% 失败率)
- **** — Old versions silently misbehave; data bugs appear later. (70% 失败率)
