我正在使用此代码尝试从我的表中删除数据:
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("delete * from login", con);
con.Open();
cmd.ExecuteNonQuery();
当我运行此操作时,我收到此错误:
System.Data.dll中发生了未处理的“System.Data.SqlClient.SqlException”类型异常 附加信息:'*'
附近的语法不正确
答案 0 :(得分:3)
DELETE语句的标准语法是
DELETE from <tablename> WHERE <condition>
FROM之前不需要星号。只是MS-Access喜欢这种语法。
另请注意,如果您不添加WHERE条件,则会删除整个表格,但使用
可以更轻松,更快捷 DROP TABLE <tablename>
答案 1 :(得分:1)
SqlCommand cmd = new SqlCommand("delete from login", con);
您不必指定要删除的列,因为您始终会删除整行。这就是为什么你不必写*
答案 2 :(得分:0)
您的查询中存在问题。
而不是写作:
Delete * from login
你应该写:
Delete from login
Exp:在delete
命令中,我们不需要在*
语句中编写select
,因为您不能只删除某些列而是删除整行。但是,仍然可以应用where
子句来选择特定的行。
答案 3 :(得分:0)
删除*,您的查询就像您一样好。