+ -
当前位置:首页 → 问答吧 → 各位这个简单的SQL如何写?

各位这个简单的SQL如何写?

时间:2011-11-22

来源:互联网


是这样的 where 条件 

在条件当中做一些破坏性的操作,比如修改表结构,删除表等。

select * from dbo.student where id =1 or exists(select * from dbo.student) 可以的

select * from dbo.student where id =1 or exists(delete from dbo.student) 不可以的

作者: Lucenedonet   发布时间: 2011-11-22

括号中应该是一个"子查询",也就是由 select 引导的语句.
你现在不是个子查询,就不能这样处理.
因为你没有理由这样做.
如果是在一定的条件中进行删除操作,用:
if exists(select ...)
delete from ...

作者: qianjin036a   发布时间: 2011-11-22

SQL code
直接delete吧。

或者
if object_id('tb') is not null
drop table tb
go

作者: fredrickhu   发布时间: 2011-11-22

引用 2 楼 fredrickhu 的回复:

SQL code
直接delete吧。

或者
if object_id('tb') is not null
drop table tb
go


不是啊。是有个网站有一个ajax请求,可以带有 or 参数的。我想在这里做点破坏性的操作。

作者: Lucenedonet   发布时间: 2011-11-22

引用楼主 lucenedonet 的回复:
是这样的 where 条件 

在条件当中做一些破坏性的操作,比如修改表结构,删除表等。



为人师者,不可教授三毒:贪嗔痴

作者: xiaolinyouni   发布时间: 2011-11-22

引用 3 楼 lucenedonet 的回复:
引用 2 楼 fredrickhu 的回复:

SQL code
直接delete吧。

或者
if object_id('tb') is not null
drop table tb
go


不是啊。是有个网站有一个ajax请求,可以带有 or 参数的。我想在这里做点破坏性的操作。


破坏不好.
如果真的想要研究,好好去看一下SQL注入吧.删掉别一两个表,那只是小偷,能取得系统的控制权,那才是大虾!

作者: qianjin036a   发布时间: 2011-11-22

这样子是不行的,去看看SQL注入的文章吧!

作者: AcHerat   发布时间: 2011-11-22

引用 3 楼 lucenedonet 的回复:
引用 2 楼 fredrickhu 的回复:

SQL code
直接delete吧。

或者
if object_id('tb') is not null
drop table tb
go


不是啊。是有个网站有一个ajax请求,可以带有 or 参数的。我想在这里做点破坏性的操作。


再说了,有 ajax 请求也不一定能让你修改了直接就能执行,绝大多数网站不允许跨服务器操作的.

作者: qianjin036a   发布时间: 2011-11-22