2011-07-30 1 views
0

は、それは、例えば、使用することが可能である:1つのステートメント内の複数のテーブルにAndroid SQLの挿入、追加、削除など?

String sql = "DELETE field FROM table1, table2 WHERE field='x', field='y'"; 

複数のテーブルから複数のフィールドを削除するには?そのオブジェクトを削除すると、すべてのデータベーステーブル内のオブジェクトへの参照をすべて削除して削除するクリーンアップメソッドの作成を使用しているので、別のものを構築するのではなく、1つのSQL文にすべてを追加する方が簡単ですsqlを実行して、それぞれを個別に実行します。 1つのステートメントが可能でない場合、別の解決策がありますか?おそらく、SQL配列を構築し、1つのコマンドですべてを実行するなど?

+0

はそれがAndroidの上でDBMSいるか分からないのですが、 'DELETEフィールドFROM'が無効です(標準)SQLステートメント。 'DELETE'は列レベルでは機能せず、行レベルで動作します。 –

+0

@a_horse_with_no_name:標準は、AndroidとiOSの両方のAFAIK、SQLiteです。 –

答えて

0

これはできません。表ごとに1つずつ、複数のdelete文を実行する必要があります。

+0

私はちょっと考えましたが、ちょうど私がチェックすると思っていました。ありがとう。 – ryandlf

0

多くのデータベースでは、複数の文を1つの文字列にして、;で区切って1つのコマンドで実行することができます。

String sql = 
     "DELETE FROM table1 WHERE field='x' and field='y'; 
      DELETE FROM table2 WHERE field='x' and field='y';"; 

Command.Commandtext = sql; 
Command.Execute(); 

しかし、Androidに関する具体的な知識はありませんので、間違っている場合はお知らせください。

0

フィールドまたは行全体を削除しようとしていますか? rowがyesの場合、外部キーがある場合は、すべてのテーブルで削除を実行できます。

あなたの手掛かりと幸運を与える必要があることを、この記事でMySQL delete row from multiple tables

を見てください...

関連する問題