易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL 严格模式 sql_mode

虽然说我们尽量在写程序的时候控制插入到数据库的数据,而不要用数据库去判断数据的对错,但是有时候为了方便还是需要数据库自身的容错能力来帮助我们达到目的的。举例说明:
创建如下数据表
CREATE TABLE `book` (
  `id` int(11) default NULL,
  `num` int(11) unsigned default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
insert into bookvalues(1,0),(2,0)
执行update book set num='abc',竟然不报错,原因是没有启用严格模式。所以
先执行set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
然后执行update book set num='abc',数据库就报错了
如果想一劳永逸,那就直接把数据库配置文件my.ini中的相关参数设置为
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"


相关文档:

sql手工注入

SQL手工注入大全
2006年08月11日 星期五 21:00
比方说在查询id是50的数据时,如果用户传近来的参数是50 and 1=1,如果没有设置过滤的话,可以直接查出来,SQL 注入一般在ASP程序中遇到最多,
看看下面的
1.判断是否有注入
;and 1=1
;and 1=2
2.初步判断是否是mssql
;and user>0
3.判断数据库系统
;and ......

SQL 2005 存储过程分页

create PROCEDURE [dbo].[P_PageTest]
    @SQL Nvarchar(max),  --SQL语句不包括排序
    @CurPage int,    --当前页
    @PageRows int,    --页面尺寸
 @Order Nvarchar(20),  --排序字段
 @OrderType Nvarchar( ......

PL/SQL 学习笔记2

变量声明
Syntax:
identifier [CONSTANT] datatype [NOT NULL]   [:= | DEFAULT expr];
SQL> declare
2 a date;
3 b number(20) not null :=100;
4 c varchar2(10);
5 d constant number(20) default 1000;
6 begin
7 null;
8 end;
9 /
PL/SQL procedure successful ......

sql分页

declare @p int
declare @p1 int
declare @count int
set @p=0
set @p1=10
set @count=2
if(@count<>0 or @count<>1)
set @p=@p1*@count-10
SELECT [t1].[userid], [t1].[username], [t1].[userorder]
from (
    SELECT ROW_NUMBER() OVER (ORDER BY [t0].[userorder]) AS [ROW_NU ......

如何写高效的批量插入和删除sql语句

作者:不详 出处:网络转载  2009/11/18 10:35:22 阅读 109  次
  技术水平总能在扯皮和吹毛求疵中得到提高。如果从来不“求疵”,可能就不会知道if(str != "")不如if(str != string.Empty)高效、批量插入和删除的sql语句是要那样写才执行最快、接口和抽象类的区别不仅是语言层面、 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号