Delete语句不在sql中执行

时间:2018-11-20 15:15:08

标签: sql sql-server

我读到了栈溢出的类似问题,即DELETE命令没有执行查询。

我是SQL的初学者,并且试图了解身份列的操作,因此我创建了一个超基本的studentinfo表,并放置了firstnamelastnameid列。

选择

ID作为标识列并设置增量ID。这是该表的摘要。并为表格创建了几行。

现在,当我执行DELETE FROM StudentInfo WHERE StudentId like '0213422'时会返回0 rows affected,当然不会删除该行。

有人告诉为什么会这样吗?

预先感谢

2 个答案:

答案 0 :(得分:1)

您可以使用:

where StudentId like '%0213422%'

where StudentId = '0213422'

Like可以与'%'或'_'之类的占位符一起使用

'%'-表示占位符中可以有多个字符。

'_'-表示只有一个字符作为占位符

ID |东西

1 |脚印

2 | Fobar

where Stuff like 'F%bar' --would return both row

where Stuff like 'F_bar' --would retun only the second row

答案 1 :(得分:0)

通常,标识列是bigint或int类型,并且仅包含数字。因此,我想知道值的前导0是否可以。
我建议先使用select语句查看

之类的结果集中的内容
Select * FROM Studentinfo WHERE StudentId like '%213422' 

Select * FROM Studentinfo WHERE StudentId >=213422