C#を使用して指定されたテーブルのすべての行を削除する方法(以下のコードと同様)はありますか?
SqlConnection con = new SqlConnection(conString);
con.Open();
string sql = @"DELETE*FROM compsTickers;";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
con.Close();
今私はエラーが出ています:
「*」付近の構文が正しくありません
C#コードに問題はありません。これはSQL構文エラーです。
とにかく、*
は必要ありません。 列ではなく行をテーブルから削除するため、削除する列を指定しません。
DELETE FROM compsTickers
列を指定しないDELETE FROM compsTickers
で十分です。
(またTRUNCATE TABLE compsTickers
が実行します。これは、トランザクションログの設定によっては意味のある削除の別の方法です)
DELETE
ステートメントでは不要なので、*
を削除するだけです
string sql = @"DELETE FROM compsTickers;";
DELETE(Transact-SQL) (リンク)
FROMはオプションです。あなたはいつもテーブルからDELETしていますので、必要なのは(単一のステートメントのためにステートメント区切り文字さえも必要としない)です:
DELETE compsTickers
テーブルを空にするもの
削除クエリに「*」を書き込むことはお勧めできません。列を削除していないので、実際にはテーブルから行を削除しています。
*はテーブルのすべての列を指します。次の構文「compsTickersから削除」に続けてwhere条件を使用してみてください。
Deleteコマンドの構文が正しくありません。削除コマンドで'*'
を使用する必要はありません。ジョブにはコマンドstring sql = @"DELETE FROM compsTickers;"
を使用します。
ありがとう。
string sql = @"DELETE FROM compsTickers;";
*
を使用したり、deleteステートメントで列名を指定したりする必要はありません。
私は使用することをお勧めします