1

sqliteで2つのビューを作成しました-androidですが、2番目のビューを作成すると、次のエラーが発生します

そのような問題はありません:テキストとしてのtemplate_contact_info.tmp_textとリンクとしてのtemplate_contact_info.tmp_link

これらの列は両方ともtemplate_contact_infoに存在し、template_contact_viewは正常に作成されています。しかし、なぜ私がそのような列エラーを受け取らないのかまだわかりません。

これがビューのコードです

ファーストビュー

db.execSQL("CREATE VIEW IF NOT EXISTS 

template_contact_info AS 

SELECT

template_info.tmp_text as tmp_text ,
template_info.tmp_link as tmp_link , 
template_info.tmp_id as temp_id , 
template_info.tmp_type as tmp_type , 
template_contact._id as _id  
from template_info , template_contact 

where  template_info.tmp_id = template_contact.tmp_id");

セカンドビュー//ここでエラーが発生します

db.execSQL("CREATE VIEW IF NOT EXISTS 

template_contact_assign AS SELECT 

contact_info.c_number as number , 
contact_info.c_name as name ,  
contact_info.c_id as conid, 
contact_info._id as cid, 
template_contact_info.tmp_type as type , 
template_contact_info.temp_id as tempid ,
template_contact_info.tmp_text as text ,
template_contact_info.tmp_link as link 
FROM contact_info LEFT JOIN template_contact_info
ON contact_info._id = template_contact_info._id");
4

1 に答える 1

3

//あなたは取得するために結ばれています

template_contact.tmp_id

//作成中は、temp_id代わりにを使用していますtmp_id

template_contact_info.temp_id

編集:

DBはすでに存在するため、データベースをアンインストール/削除して、変更されたテーブルを再度作成する必要があります。

コマンドユーティリティ'adbshel​​l or via eclipse using the file explorer. The database resides in under' / data / data //database'`のいずれかを使用してデータベースを削除します。

にとってadb use rm <db_name>

于 2012-06-06T15:12:16.417 に答える