Zend framework Zend_db中的完整性约束冲突
我有以下代码:Zend framework Zend_db中的完整性约束冲突,zend-framework,zend-db,inner-join,mysql-error-1052,Zend Framework,Zend Db,Inner Join,Mysql Error 1052,我有以下代码: $selectColumns= array('user_id.user_email', 'user_details.first_name', 'user_details.last_name', 'user_details.zip', 'user_details.store_id'); $result = $handl
$selectColumns= array('user_id.user_email',
'user_details.first_name',
'user_details.last_name',
'user_details.zip',
'user_details.store_id');
$result = $handle->select()->from('user_id')
->where('uid=?', $uid)
->columns($selectColumns)
->join('user_details', 'user_id.uid = user_details.uid')
->query(ZEND_DB::FETCH_OBJ);
运行后,出现以下错误:
Uncaught exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: '
Integrity constraint violation: 1052 Column 'uid' in where clause is ambiguous
我一直在想我做错了什么。
有什么帮助吗?在日志中检查生成的sql查询。也许你必须把where子句放在join后面。问题是uid=?在WHERE子句中。由于uid列位于两个表user_id和user_details中,MySQL无法确定您真正想要使用的列。因此,你必须这样做
// [...]
->where('user_id.uid=?', $uid)
// [...]