0

正確なエラーは次のとおりです。

Error Number: 1052

Column 'id' in where clause is ambiguous

SELECT * FROM (`membership_personal`) JOIN `membership_account` ON `membership_account`.`memberid` = `membership_personal`.`id` JOIN `swapaccount` ON `swapaccount`.`memberid` = `membership_account`.`memberid` WHERE `id` = '5'

Filename: /home/phpgod/public_html/johnnyarias/ci_website/models/generalfeaturesmodel.php

Line Number: 57

結合の複数のテーブルに存在する id フィールドに関係していることはわかっています。私の質問は、where 句の id フィールドが member_personal テーブルの id フィールドにのみ適用されるようにするにはどうすればよいですか?

4

3 に答える 3

2
WHERE `member_personal `.`id` = '5'
于 2012-08-06T06:02:59.857 に答える
1

エラーが発生する理由は、フィールドidが複数のテーブルに存在するためです。そのため、MySql がどのテーブルidを参照しているかを判断することは不可能です。

解決策は、テーブル名と列名を指定することです。元:

`tablename`.`id` = '5'
于 2012-08-06T06:09:47.020 に答える
0
$this->db->where('member_personal.id',5);
于 2012-08-06T06:33:23.327 に答える