2012-04-14 12 views
0

これに相当するSQLite(C#.NET用)がありますか?SQLite内のすべてのテーブルから削除

DELETE * FROM * WHERE id='idnumber'

+0

[Sqlite:すべてのデータベーステーブルをリセットするにはどうすればいいですか?](http://stackoverflow.com/questions/3600075/sqlite-how-do-i-reset-all-database-tables) –

+0

@juergendこの質問は、すべてのテーブルのすべてのレコードではなく、すべてのテーブルから単一のレコードを削除することです。 – CJxD

+0

そうではありません。それはそれのようなものではありません。投票する前に質問を読むようにしてください。 –

答えて

2

いいえ、ありません。

一つの方法は、個々のdelete文、テーブルごとに1一連の別のスクリプトを作成からquery metadata tablesに小さなスクリプトを書くことです。

の例では、(すべてのテーブルはID列を持っていたを想定)することができます

select 'delete from ' || name || ' where ID = 42' 
from sqlite_master 
where type = 'table' 

これは、あなたがキャプチャし、スクリプトとして実行することができ、各テーブルのdelete文を生成します。

しかし、それはあなたがそれを試して使用することができます

+0

私は名前を知っていますが、テーブルがたくさんあります= P とにかく、この「小さなスクリプト」はどうですか? – CJxD

+0

@CJxD、私はうまくいけば良い出発点であるはずの少しのスニペットを追加しました。テストされていませんが、あなたはそのアイデアを得るべきです。 – paxdiablo

+2

かなりドギーに見える、私はそれが好き! – CJxD

-1

:-)そのテーブルの名前を知っているデータベース開発者のために、一般的には良いアイデアです:

//You can do it with the following DANGEROUS commands: 

PRAGMA writable_schema = 1; 
delete from sqlite_master where type = 'table'; 
PRAGMA writable_schema = 0; 



//you then want to recover the deleted space with 
VACUUM 

//and a good test to make sure everything is ok 
PRAGMA INTEGRITY_CHECK; 

は、それはあなたのために役に立つことを願っています。

+2

それはテーブルを削除するつもりです、はい? OPはすべてのテーブルから一致するIDを持つすべての行を削除したいと思う。だからおそらく_that_有用ではない: – paxdiablo

+0

これはあなたのブログですか? http://myratnest.blogspot.com/2010/08/want-to-delete-all-tables-in-sqlite.html –

+0

またはあなたの答えは? http://stackoverflow.com/questions/525512/drop-all-tables-command –