我读到了栈溢出的类似问题,即DELETE
命令没有执行查询。
我是SQL的初学者,并且试图了解身份列的操作,因此我创建了一个超基本的studentinfo
表,并放置了firstname
,lastname
和id
列。
ID作为标识列并设置增量ID。这是该表的摘要。并为表格创建了几行。
现在,当我执行DELETE FROM StudentInfo WHERE StudentId like '0213422'
时会返回0 rows affected
,当然不会删除该行。
有人告诉为什么会这样吗?
预先感谢
答案 0 :(得分:1)
您可以使用:
where StudentId like '%0213422%'
或
where StudentId = '0213422'
Like可以与'%'或'_'之类的占位符一起使用
'%'-表示占位符中可以有多个字符。
'_'-表示只有一个字符作为占位符
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