DELETE*FROM表

loc*_*boy 15 .net c# sql sql-server asp.net

有没有办法(类似于下面的代码)使用c#删除指定表中的所有行?

SqlConnection con = new SqlConnection(conString);
con.Open();

string sql = @"DELETE*FROM compsTickers;";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
con.Close();
Run Code Online (Sandbox Code Playgroud)

现在我收到一个错误:

'*'附近的语法不正确

Bol*_*ock 48

你的C#代码没有错; 这是一个SQL语法错误.

无论如何,没有必要*.您从表中删除而不是,因此您不指定要删除的列:

DELETE FROM compsTickers
Run Code Online (Sandbox Code Playgroud)

  • 正如Mark Redman在cairnz的回答中所解释的那样,如果你想在清空你的桌子时重置你的身份,你应该使用`TRUNCATE TABLE`. (5认同)

cai*_*rnz 16

你没有指定列DELETE FROM compsTickers就足够了.

(也TRUNCATE TABLE compsTickers会这样做,这是一种不同的删除方式,根据您的事务日志设置可能有意义)

  • 截断还将重置IDENTITY字段,这可能是也可能不是. (4认同)

cod*_*ger 10

只需删除语句*不需要的DELETE语句

string sql = @"DELETE FROM compsTickers;";