python
type_error
ai_generated
true
外键 'orders.user_id' 列类型 'VARCHAR' 与引用列 'users.id' 类型 'INTEGER' 不匹配
sqlalchemy.exc.ArgumentError: Foreign key 'orders.user_id' column type 'VARCHAR' does not match referenced column 'users.id' type 'INTEGER'
ID: python/sqlalchemy-invalid-foreign-key-column-type
80%修复率
89%置信度
0证据数
2025-02-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.x | active | — | — | — |
根因分析
外键列的数据类型与引用的主键类型不同,导致数据库级类型不匹配。
English
The foreign key column has a different data type than the primary key it references, causing database-level type mismatch.
解决方案
-
100% 成功率
class User(Base): id = Column(Integer, primary_key=True) class Order(Base): user_id = Column(Integer, ForeignKey('users.id')) # not String
无效尝试
常见但无效的做法:
-
50% 失败
May break other relationships or data integrity.
-
70% 失败
Database may reject inserts or cause performance issues.