<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>SQL 存储过程</title><link>http://blog.vckbase.com/zaboli/category/339.html</link><description>SQL 存储过程</description><managingEditor>玻璃小屋</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>玻璃小屋</dc:creator><title>select into 和insert into select 两种表复制语句</title><link>http://blog.vckbase.com/zaboli/archive/2008/02/14/32608.html</link><pubDate>Wed, 13 Feb 2008 16:32:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2008/02/14/32608.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/32608.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2008/02/14/32608.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/32608.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/32608.html</trackback:ping><description>&lt;DIV class=tit&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=date&gt;2008-01-28 16:05&lt;/DIV&gt;
&lt;TABLE style="TABLE-LAYOUT: fixed"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;DIV class=cnt&gt;
&lt;P&gt;&lt;STRONG&gt;select&lt;/STRONG&gt; * &lt;STRONG&gt;into&lt;/STRONG&gt; destTbl &lt;STRONG&gt;from&lt;/STRONG&gt; srcTbl&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;insert&lt;/STRONG&gt; &lt;STRONG&gt;into&lt;/STRONG&gt; destTbl(fld1, fld2) &lt;STRONG&gt;selec&lt;/STRONG&gt;t fld1, 5 &lt;STRONG&gt;from&lt;/STRONG&gt; srcTbl&lt;/P&gt;
&lt;P&gt;以上两句都是将 srcTbl 的数据插入到 destTbl，但两句又有区别的。&lt;/P&gt;
&lt;P&gt;第一句（select into from）要求目标表（destTbl）&lt;STRONG&gt;不存在&lt;/STRONG&gt;，因为在插入时会自动创建。&lt;/P&gt;
&lt;P&gt;第二句（insert into select from）要求目标表（destTbl）&lt;STRONG&gt;存在&lt;/STRONG&gt;，由于目标表已经存在，所以我们除了插入源表（srcTbl）的字段外，还&lt;STRONG&gt;可以插入常量&lt;/STRONG&gt;，如例中的：5。&lt;/P&gt;
&lt;P&gt;eg:&lt;/P&gt;
&lt;P&gt;INSERT INTO Tdeptlist (id,dept_name,amanager_id,amanager_name,brch_name,brch_memo,ISchange,changetype,ischangeed)&lt;BR&gt;select *,1,3,0 from deptlist&lt;BR&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;A href="http://hi.baidu.com/renshengyixiaojian/blog/item/504ab4ceab61a20793457e33.html"&gt;http://hi.baidu.com/renshengyixiaojian/blog/item/504ab4ceab61a20793457e33.html&lt;/A&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/32608.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>求SQL语句~~~~~~~~ </title><link>http://blog.vckbase.com/zaboli/archive/2008/01/08/31692.html</link><pubDate>Tue, 08 Jan 2008 06:00:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2008/01/08/31692.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/31692.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2008/01/08/31692.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/31692.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/31692.html</trackback:ping><description>&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;要求&amp;nbsp;汇总按时间排序的每个人的最后两次的成绩的和，怎么写SQL？ &lt;BR&gt;&lt;BR&gt;表和数据如下：&lt;BR&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;时间&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;姓名&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;分数&lt;BR&gt;&lt;BR&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;张三&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;80&lt;BR&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;张三&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90&lt;BR&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;张三&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&lt;BR&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;张三&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;85&lt;BR&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;张三&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;BR&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;李四&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;80&lt;BR&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;李四&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90&lt;BR&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;李四&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&lt;BR&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;李四&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;85&lt;BR&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;李四&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;BR&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;王五&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;80&lt;BR&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;王五&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90&lt;BR&gt;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;王五&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&lt;BR&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;王五&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;85&lt;BR&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007-12-29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;王五&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/31692.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>SQL 只选出 某一字段中有重复的记录</title><link>http://blog.vckbase.com/zaboli/archive/2007/06/15/26908.html</link><pubDate>Fri, 15 Jun 2007 07:04:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2007/06/15/26908.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/26908.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2007/06/15/26908.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/26908.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/26908.html</trackback:ping><description>数据库中有两个字段 姓名，分数。&lt;BR&gt;有N条记录&lt;BR&gt;张1 12&lt;BR&gt;李2 35&lt;BR&gt;王3 33&lt;BR&gt;张2 34&lt;BR&gt;王7 35&lt;BR&gt;李4 33 &lt;BR&gt;&lt;BR&gt;怎么样才能选出所有分相同的记录？？&lt;BR&gt;比如一条 select 语句结果是&lt;BR&gt;李2 35&lt;BR&gt;王7 35&lt;BR&gt;王3 33&lt;BR&gt;李4 33 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;SELECT 姓名,分数 FROM [成绩表]&lt;BR&gt;WHERE EXISTS(SELECT * FROM (select 分数 from [成绩表] group by 分数 having count(*)&amp;nbsp; &amp;gt;=2) AS T1 &lt;BR&gt;where 成绩表.分数=分数) order by 分数&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/26908.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>sql 存储过程解密</title><link>http://blog.vckbase.com/zaboli/archive/2007/05/08/26080.html</link><pubDate>Tue, 08 May 2007 02:04:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2007/05/08/26080.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/26080.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2007/05/08/26080.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/26080.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/26080.html</trackback:ping><description>create PROCEDURE sp_decrypt(@objectname varchar(50))&lt;BR&gt;AS&lt;BR&gt;begin&lt;BR&gt;set nocount on&lt;BR&gt;--CSDN：j9988 copyright:2004.07.15 &lt;BR&gt;--V3.2 &lt;BR&gt;--破解字节不受限制，适用于SQLSERVER2000存储过程，函数，视图，触发器&lt;BR&gt;--修正上一版"视图触发器"不能正确解密错误&lt;BR&gt;--发现有错，请E_MAIL：CSDNj9988@tom.com&lt;BR&gt;begin tran&lt;BR&gt;declare @objectname1 varchar(100),@orgvarbin varbinary(8000)&lt;BR&gt;declare @sql1 nvarchar(4000),@sql2 varchar(8000),@sql3 nvarchar(4000),@sql4 nvarchar(4000)&lt;BR&gt;DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)&lt;BR&gt;declare @i int,@status int,@type varchar(10),@parentid int&lt;BR&gt;declare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number int&lt;BR&gt;select @type=xtype,@parentid=parent_obj from sysobjects where id=object_id(@objectname)&lt;BR&gt;&lt;BR&gt;create table #temp(number int,colid int,ctext varbinary(8000),encrypted int,status int)&lt;BR&gt;insert #temp Select number,colid,ctext,encrypted,status FROM syscomments Where id = object_id(@objectname)&lt;BR&gt;select @number=max(number) from #temp&lt;BR&gt;set @k=0&lt;BR&gt;&lt;BR&gt;while @k&amp;lt;=@number &lt;BR&gt;begin&lt;BR&gt;if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)&lt;BR&gt;begin&lt;BR&gt;if @type='P'&lt;BR&gt;set @sql1=(case when @number&amp;gt;1 then 'Alter PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS '&lt;BR&gt;else 'Alter PROCEDURE '+ @objectname+' WITH ENCRYPTION AS '&lt;BR&gt;end)&lt;BR&gt;&lt;BR&gt;if @type='TR'&lt;BR&gt;begin&lt;BR&gt;declare @parent_obj varchar(255),@tr_parent_xtype varchar(10)&lt;BR&gt;select @parent_obj=parent_obj from sysobjects where id=object_id(@objectname)&lt;BR&gt;select @tr_parent_xtype=xtype from sysobjects where id=@parent_obj&lt;BR&gt;if @tr_parent_xtype='V'&lt;BR&gt;begin&lt;BR&gt;set @sql1='Alter TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTERD OF Insert AS PRINT 1 '&lt;BR&gt;end&lt;BR&gt;else&lt;BR&gt;begin&lt;BR&gt;set @sql1='Alter TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR Insert AS PRINT 1 '&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;end&lt;BR&gt;if @type='FN' or @type='TF' or @type='IF'&lt;BR&gt;set @sql1=(case @type when 'TF' then &lt;BR&gt;'Alter FUNCTION '+ @objectname+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end '&lt;BR&gt;when 'FN' then&lt;BR&gt;'Alter FUNCTION '+ @objectname+'(@a char(1)) returns char(1) with encryption as begin return @a end'&lt;BR&gt;when 'IF' then&lt;BR&gt;'Alter FUNCTION '+ @objectname+'(@a char(1)) returns table with encryption as return select @a as a'&lt;BR&gt;end)&lt;BR&gt;&lt;BR&gt;if @type='V'&lt;BR&gt;set @sql1='Alter VIEW '+@objectname+' WITH ENCRYPTION AS Select 1 as f'&lt;BR&gt;&lt;BR&gt;set @q=len(@sql1)&lt;BR&gt;set @sql1=@sql1+REPLICATE('-',4000-@q)&lt;BR&gt;select @sql2=REPLICATE('-',8000)&lt;BR&gt;set @sql3='exec(@sql1'&lt;BR&gt;select @colid=max(colid) from #temp where number=@k &lt;BR&gt;set @n=1&lt;BR&gt;while @n&amp;lt;=CEILING(1.0*(@colid-1)/2) and len(@sql3)&amp;lt;=3996&lt;BR&gt;begin &lt;BR&gt;set @sql3=@sql3+'+@'&lt;BR&gt;set @n=@n+1&lt;BR&gt;end&lt;BR&gt;set @sql3=@sql3+')'&lt;BR&gt;exec sp_executesql @sql3,N'@sql1 nvarchar(4000),@ varchar(8000)',@sql1=@sql1,@=@sql2&lt;BR&gt;&lt;BR&gt;end&lt;BR&gt;set @k=@k+1&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;set @k=0&lt;BR&gt;while @k&amp;lt;=@number &lt;BR&gt;begin&lt;BR&gt;&lt;BR&gt;if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)&lt;BR&gt;begin&lt;BR&gt;select @colid=max(colid) from #temp where number=@k &lt;BR&gt;set @n=1&lt;BR&gt;&lt;BR&gt;while @n&amp;lt;=@colid&lt;BR&gt;begin&lt;BR&gt;select @OrigSpText1=ctext,@encrypted=encrypted,@status=status FROM #temp Where colid=@n and number=@k&lt;BR&gt;&lt;BR&gt;SET @OrigSpText3=(Select ctext FROM syscomments Where id=object_id(@objectname) and colid=@n and number=@k)&lt;BR&gt;if @n=1&lt;BR&gt;begin&lt;BR&gt;if @type='P'&lt;BR&gt;SET @OrigSpText2=(case when @number&amp;gt;1 then 'Create PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS '&lt;BR&gt;else 'Create PROCEDURE '+ @objectname +' WITH ENCRYPTION AS '&lt;BR&gt;end)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;if @type='FN' or @type='TF' or @type='IF'&lt;BR&gt;SET @OrigSpText2=(case @type when 'TF' then &lt;BR&gt;'Create FUNCTION '+ @objectname+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end '&lt;BR&gt;when 'FN' then&lt;BR&gt;'Create FUNCTION '+ @objectname+'(@a char(1)) returns char(1) with encryption as begin return @a end'&lt;BR&gt;when 'IF' then&lt;BR&gt;'Create FUNCTION '+ @objectname+'(@a char(1)) returns table with encryption as return select @a as a'&lt;BR&gt;end)&lt;BR&gt;&lt;BR&gt;if @type='TR' &lt;BR&gt;begin&lt;BR&gt;&lt;BR&gt;if @tr_parent_xtype='V'&lt;BR&gt;begin&lt;BR&gt;set @OrigSpText2='Create TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTEAD OF Insert AS PRINT 1 '&lt;BR&gt;end&lt;BR&gt;else&lt;BR&gt;begin&lt;BR&gt;set @OrigSpText2='Create TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR Insert AS PRINT 1 '&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;if @type='V'&lt;BR&gt;set @OrigSpText2='Create VIEW '+@objectname+' WITH ENCRYPTION AS Select 1 as f'&lt;BR&gt;&lt;BR&gt;
&lt;SCRIPT type=text/javascript&gt;google_ad_client = "pub-4475724770859924";google_alternate_color = "FFBBE8";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_ad_type = "text_image";google_ad_channel ="9379930647";google_color_border = "F0F0F0";google_color_bg = "FFFFFF";google_color_link = "FF6FCF";google_color_url = "38B63C";google_color_text = "B3B3B3";&lt;/SCRIPT&gt;
&lt;BR&gt;
&lt;SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript&gt;&lt;/SCRIPT&gt;
&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;set @q=4000-len(@OrigSpText2)&lt;BR&gt;set @OrigSpText2=@OrigSpText2+REPLICATE('-',@q)&lt;BR&gt;end&lt;BR&gt;else&lt;BR&gt;begin&lt;BR&gt;SET @OrigSpText2=REPLICATE('-', 4000)&lt;BR&gt;end&lt;BR&gt;SET @i=1&lt;BR&gt;&lt;BR&gt;SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))&lt;BR&gt;&lt;BR&gt;WHILE @i&amp;lt;=datalength(@OrigSpText1)/2&lt;BR&gt;BEGIN&lt;BR&gt;&lt;BR&gt;SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^&lt;BR&gt;(UNICODE(substring(@OrigSpText2, @i, 1)) ^&lt;BR&gt;UNICODE(substring(@OrigSpText3, @i, 1)))))&lt;BR&gt;SET @i=@i+1&lt;BR&gt;END&lt;BR&gt;set @orgvarbin=cast(@OrigSpText1 as varbinary(8000))&lt;BR&gt;set @resultsp=(case when @encrypted=1 &lt;BR&gt;then @resultsp &lt;BR&gt;else convert(nvarchar(4000),case when @status&amp;amp;2=2 then uncompress(@orgvarbin) else @orgvarbin end)&lt;BR&gt;end)&lt;BR&gt;print @resultsp&lt;BR&gt;&lt;BR&gt;set @n=@n+1&lt;BR&gt;&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;end&lt;BR&gt;set @k=@k+1&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;drop table #temp&lt;BR&gt;rollback tran&lt;BR&gt;end&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;go&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/26080.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>delete from Ticks where [DateTime] = "2007-02-09 00:00:00" 在ACCESS中不行。。。应该用 ##倒了。。</title><link>http://blog.vckbase.com/zaboli/archive/2007/02/09/24521.html</link><pubDate>Fri, 09 Feb 2007 06:53:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2007/02/09/24521.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/24521.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2007/02/09/24521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/24521.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/24521.html</trackback:ping><description>Insert into Ticks (DateTime) values("2007-02-09 00:00:00") 就行。。。倒霉的ACCESS&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/24521.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>[导入]Oracle系统紧急故障处理(数据文件、日志文件以及表空间损坏的处理)</title><link>http://blog.vckbase.com/zaboli/archive/2006/09/08/22329.html</link><pubDate>Fri, 08 Sep 2006 01:25:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2006/09/08/22329.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/22329.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2006/09/08/22329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/22329.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/22329.html</trackback:ping><description>介绍Oracle系统紧急故障处理(数据文件、日志文件以及表空间损坏的处理)&lt;img src ="http://blog.csdn.net/sungblog/aggbug/1185574.aspx" width = "1" height = "1" /&gt;&lt;br&gt;文章来源:&lt;a href='http://blog.csdn.net/sungblog/archive/2006/09/06/1185574.aspx'&gt;http://blog.csdn.net/sungblog/archive/2006/09/06/1185574.aspx&lt;/a&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/22329.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>ADODB.Recordset 错误 '800a0bb9'</title><link>http://blog.vckbase.com/zaboli/archive/2006/09/06/22286.html</link><pubDate>Wed, 06 Sep 2006 05:40:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2006/09/06/22286.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/22286.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2006/09/06/22286.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/22286.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/22286.html</trackback:ping><description>&lt;P&gt;因为要整合一个用户认证到 dvbbs中，加了如下代码：&lt;BR&gt;Set rs= Server.CreateObject("ADODB.Recordset")&lt;BR&gt;sql="select * from [Dv_vcd_weeks] where [UserName]='"&amp;amp;Session("MemberName")&amp;amp;"' and [iYear]="&amp;amp;iyear&lt;/P&gt;
&lt;P&gt;rs.open sql,conn,1,3',conn',0,0 &amp;lt;--这句报错如下 ：&lt;BR&gt;&lt;BR&gt;ADODB.Recordset&lt;FONT face="宋体, MS Song" size=3&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face=宋体 size=2&gt;错误 '800a0bb9'&lt;/FONT&gt;&lt;FONT face="宋体, MS Song" size=3&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 size=2&gt;参数类型不正确，或不在可以接受的范围之内，或与其他参数冲突。&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;开始试了 open 很多参数，还是不行，后来在网上搜了半天，终于找到是 conn 被有打开。。。因为开头只&lt;BR&gt;&amp;lt;!--#include file="conn.asp"--&amp;gt; 了动网的连接定义的文件，但是他默认是关闭的。。&lt;BR&gt;现在自己打开 conn就可以了。&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/22286.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>存储过程中与SQL对应的数据类型 (ZT http://dotnet.mblogger.cn/makdh0311/)</title><link>http://blog.vckbase.com/zaboli/archive/2006/08/18/21967.html</link><pubDate>Fri, 18 Aug 2006 04:15:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2006/08/18/21967.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/21967.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2006/08/18/21967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/21967.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/21967.html</trackback:ping><description>&lt;DIV class=postTitle&gt;&lt;FONT size=4&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=postText&gt;&lt;FONT size=4&gt;&amp;nbsp; &lt;/FONT&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;int&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;3&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adInteger整型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;int 数据类型可以存储从- 2&lt;SUP&gt;31&lt;/SUP&gt;(-2147483648)到2&lt;SUP&gt;31&lt;/SUP&gt; (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;bigint2&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;20&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adBigInt&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;binary3&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;128&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adBinary二进制数据类型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时，你应该使用这种数据类型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;bit4&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;11&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adBoolean&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;bit 数据类型是整型，其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据，如Yes 或No、True 或Fa lse 、On 或Off&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;char5&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;129&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adChar字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时，你必须指定列长。当你总能知道要存储的数据的长度时，此数据类型很有用。例如，当你按邮政编码加4个字符格式来存储数据时，你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;datetime6&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;135&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adDBTimeStamp日期时间型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据， 精确到三百分之一秒或3.33毫秒&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;decimal7&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;131&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adNumeric精确数值型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;decimal 数据类型能用来存储从-10&lt;SUP&gt;38&lt;/SUP&gt;-1到10&lt;SUP&gt;38&lt;/SUP&gt;-1的固定精度和范围的数值型数据。使用这种数据类型时，必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;float8&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;5&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adDouble近似数值型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;float 数据类型是一种近似数值类型，供浮点数使用。说浮点数是近似的，是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;image9&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;205&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adLongVarBinary二进制数据类型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;image 数据类型用来存储变长的二进制数据，最大可达2&lt;SUP&gt;31&lt;/SUP&gt;-1或大约20亿字节&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;money10&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;6&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adCurrency货币型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据，精确到货币单位的万分之一&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;nchar11&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;130&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adWChar统一编码字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符，而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符，使用的字节空间上增加了一倍&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;ntext12&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;203&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adLongVarWChar统一编码字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储2&lt;SUP&gt;30&lt;/SUP&gt; -1或将近10亿个字符，且使用的字节空间增加了一倍&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;numeric13&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;131&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adNumeric精确数值型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;numeric数据类型与decimal 型相同&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;nvarchar14&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;202&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adVarWChar统一编码字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符，使用的字节空间增加了一倍&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;real15&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;4&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adSingle近似数值型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;real 数据类型像浮点数一样，是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;smalldatetime16&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;135&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adDBTimeStamp日期时间型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间，精确到一分钟&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;smallint17&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;2&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adSmallInt整型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;smallint 数据类型可以存储从- 2&lt;SUP&gt;15&lt;/SUP&gt;(-32768)到2&lt;SUP&gt;15&lt;/SUP&gt;(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;smallmoney18&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;6&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adCurrency货币型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据，精确到货币单位的万分之一&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;sql_variant19&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;204&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adVarBinary&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;text20&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;201&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adLongVarChar字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有2&lt;SUP&gt;31&lt;/SUP&gt;-1或20亿个字符&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;timestamp21&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;128&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adBinary特殊数据型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;timestamp 数据类型是一种特殊的数据类型，用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时，timestamp列的值都会改变。尽管它的名字中有&amp;#8220;time&amp;#8221;， 但timestamp列不是人们可识别的日期。在一个数据库里，timestamp值是唯一的&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;tinyint22&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;17&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adUnsignedTinyInt整型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;uniqueidentifier23&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;72&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adGUID特殊数据型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;Uniqueidentifier数据类型用来存储一个全局唯一标识符，即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;varbinary24&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;204&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adVarBinary二进制数据类型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时，你应该使用这种数据类型&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=146&gt;&lt;FONT size=4&gt;varchar25&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=26&gt;&lt;FONT size=4&gt;200&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=153&gt;&lt;FONT size=4&gt;&amp;nbsp;adVarChar字符型 &lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=228&gt;&lt;FONT size=4&gt;varchar数据类型，同char类型一样，用来存储非统一编码型字符数据。与char 型不一样，此数据类型为变长。当定义一列为该数据类型时，你要指定该列的最大长度。 它与char数据类型最大的区别是，存储的长度不是列长，而是数据的长度&lt;BR&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;(ZT &lt;A href="http://dotnet.mblogger.cn/makdh0311/"&gt;http://dotnet.mblogger.cn/makdh0311/&lt;/A&gt;)&lt;/DIV&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/21967.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>INSERT INTO 语句的语法错误。 </title><link>http://blog.vckbase.com/zaboli/archive/2006/08/14/21868.html</link><pubDate>Mon, 14 Aug 2006 06:33:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2006/08/14/21868.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/21868.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2006/08/14/21868.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/21868.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/21868.html</trackback:ping><description>ASP+ACCESS 就一句简单的 "insert into UserInfo (UserName,Password) values ('12345678','87645321')"&lt;BR&gt;直提示&lt;BR&gt;&lt;BR&gt;insert into UserInfo (UserName,Password) values ('12345678','87645321') &lt;FONT face=宋体 size=2&gt;
&lt;P&gt;Microsoft JET Database Engine&lt;/FONT&gt;&lt;FONT face="宋体, MS Song"&gt; &lt;/FONT&gt;&lt;FONT face=宋体 size=2&gt;错误 '80040e14'&lt;/FONT&gt;&lt;FONT face="宋体, MS Song"&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=宋体 size=2&gt;INSERT INTO 语句的语法错误。&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=宋体 size=2&gt;/d7/insert.asp&lt;/FONT&gt;&lt;FONT face=宋体 size=2&gt;，行7&lt;/FONT&gt; &lt;/P&gt;日了~ 浪费了大半天找语法错误。。。改成&lt;BR&gt;insert into UserInfo ([UserName],[Password]) values ('12345678','87645321') &lt;BR&gt;&lt;BR&gt;就可以了。。&lt;BR&gt;&lt;BR&gt;&amp;lt;!--#include file="conn.asp"--&amp;gt;&lt;BR&gt;&amp;lt;%&lt;BR&gt;dim sql&lt;BR&gt;sql = "insert into UserInfo (UserName,Password) values ('12345678','87645321')"&lt;BR&gt;'sql = "select * from userinfo"&lt;BR&gt;response.write sql&lt;BR&gt;conn.execute sql,1,1&lt;BR&gt;CloseDatabase&lt;BR&gt;%&amp;gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/21868.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>玻璃小屋</dc:creator><title>mysql 权限管理。。。摘自 mysql 文档。。</title><link>http://blog.vckbase.com/zaboli/archive/2006/04/21/19688.html</link><pubDate>Fri, 21 Apr 2006 15:16:00 GMT</pubDate><guid>http://blog.vckbase.com/zaboli/archive/2006/04/21/19688.html</guid><wfw:comment>http://blog.vckbase.com/zaboli/comments/19688.html</wfw:comment><comments>http://blog.vckbase.com/zaboli/archive/2006/04/21/19688.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/zaboli/comments/commentRss/19688.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/zaboli/services/trackbacks/19688.html</trackback:ping><description>&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#Adding_users"&gt;http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#Adding_users&lt;/A&gt;&lt;/H2&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_toc.html#Adding_users" name=Adding_users&gt;6.11 向MySQL增加新用户权限&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;你可以有2个不同的方法增加用户：通过使用&lt;CODE&gt;GRANT&lt;/CODE&gt;语句或通过直接操作&lt;STRONG&gt;MySQL&lt;/STRONG&gt;授权表。比较好的方法是使用&lt;CODE&gt;GRANT&lt;/CODE&gt;语句，因为他们是更简明并且好像错误少些。 &lt;/P&gt;
&lt;P&gt;下面的例子显示出如何使用&lt;CODE&gt;mysql&lt;/CODE&gt;客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了改变，你必须在&lt;CODE&gt;mysqld&lt;/CODE&gt;正在运行同一台机器上，你必须作为&lt;STRONG&gt;MySQL&lt;/STRONG&gt; &lt;CODE&gt;root&lt;/CODE&gt;用户连接，并且&lt;CODE&gt;root&lt;/CODE&gt;用户必须对&lt;CODE&gt;mysql&lt;/CODE&gt;数据库有&lt;STRONG&gt;insert&lt;/STRONG&gt;权限和&lt;STRONG&gt;reload&lt;/STRONG&gt;管理权限。另外，如果你改变了&lt;CODE&gt;root&lt;/CODE&gt;用户口令，你必须如下的&lt;CODE&gt;mysql&lt;/CODE&gt;命令指定它。 &lt;/P&gt;
&lt;P&gt;你可以通过发出&lt;CODE&gt;GRANT&lt;/CODE&gt;语句增加新用户： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql --user=root mysql
mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO monty@localhost
           IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO monty@"%"
           IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql&amp;gt; GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql&amp;gt; GRANT USAGE ON *.* TO dummy@localhost;
&lt;/PRE&gt;
&lt;P&gt;这些&lt;CODE&gt;GRANT&lt;/CODE&gt;语句安装3个新用户： 
&lt;DL compact&gt;
&lt;DT&gt;&lt;CODE&gt;monty&lt;/CODE&gt; 
&lt;DD&gt;可以从任何地方连接服务器的一个完全的超级用户，但是必须使用一个口令(&lt;CODE&gt;'something'&lt;/CODE&gt;做这个。注意，我们必须对&lt;CODE&gt;monty@localhost&lt;/CODE&gt;和&lt;CODE&gt;monty@"%"&lt;/CODE&gt;发出&lt;CODE&gt;GRANT&lt;/CODE&gt;语句。如果我们增加&lt;CODE&gt;localhost&lt;/CODE&gt;条目，对&lt;CODE&gt;localhost&lt;/CODE&gt;的匿名用户条目在我们从本地主机连接接时由&lt;CODE&gt;mysql_install_db&lt;/CODE&gt;创建的条目将优先考虑，因为它有更特定的&lt;CODE&gt;Host&lt;/CODE&gt;字段值，所以以&lt;CODE&gt;user&lt;/CODE&gt;表排列顺序看更早到来。 
&lt;DT&gt;&lt;CODE&gt;admin&lt;/CODE&gt; 
&lt;DD&gt;可以从&lt;CODE&gt;localhost&lt;/CODE&gt;没有一个口令进行连接并且被授予&lt;STRONG&gt;reload&lt;/STRONG&gt;和&lt;STRONG&gt;process&lt;/STRONG&gt;管理权限的用户。这允许用户执行&lt;CODE&gt;mysqladmin reload&lt;/CODE&gt;、&lt;CODE&gt;mysqladmin refresh&lt;/CODE&gt;和&lt;CODE&gt;mysqladmin flush-*&lt;/CODE&gt;命令，还有&lt;CODE&gt;mysqladmin processlist&lt;/CODE&gt;。没有授予数据库有关的权限。他们能在以后通过发出另一个&lt;CODE&gt;GRANT&lt;/CODE&gt;语句授权。 
&lt;DT&gt;&lt;CODE&gt;dummy&lt;/CODE&gt; 
&lt;DD&gt;可以不用一个口令连接的一个用户，但是只能从本地主机。全局权限被设置为&lt;CODE&gt;'N'&lt;/CODE&gt;--&lt;CODE&gt;USAGE&lt;/CODE&gt;权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。 &lt;/DD&gt;&lt;/DL&gt;
&lt;P&gt;你也可以直接通过发出&lt;CODE&gt;INSERT&lt;/CODE&gt;语句增加同样的用户存取信息，然后告诉服务器再次装入授权表： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql --user=root mysql
mysql&amp;gt; INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),
                'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql&amp;gt; INSERT INTO user VALUES('%','monty',PASSWORD('something'),
                'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql&amp;gt; INSERT INTO user SET Host='localhost',User='admin',
                 Reload_priv='Y', Process_priv='Y';
mysql&amp;gt; INSERT INTO user (Host,User,Password)
                        VALUES('localhost','dummy','');
mysql&amp;gt; FLUSH PRIVILEGES;
&lt;/PRE&gt;
&lt;P&gt;取决于你的&lt;STRONG&gt;MySQL&lt;/STRONG&gt;版本，对上述，你可能必须使用一个不同数目&lt;CODE&gt;'Y'&lt;/CODE&gt;值(在3.22.11以前的版本有更少的权限列)。对&lt;CODE&gt;admin&lt;/CODE&gt;用户，只用在3.22.11开始的版本具有的更加可读的&lt;CODE&gt;INSERT&lt;/CODE&gt;扩充的语法。 &lt;/P&gt;
&lt;P&gt;注意，为了设置一个超级用户，你只需创造一个&lt;CODE&gt;user&lt;/CODE&gt;表条目，其权限字段设为&lt;CODE&gt;'Y'&lt;/CODE&gt;。不需要&lt;CODE&gt;db&lt;/CODE&gt;或&lt;CODE&gt;host&lt;/CODE&gt;表的条目。 &lt;/P&gt;
&lt;P&gt;在&lt;CODE&gt;user&lt;/CODE&gt;表中的权限列不是由最后一个&lt;CODE&gt;INSERT&lt;/CODE&gt;语句明确设置的(对&lt;CODE&gt;dummy&lt;/CODE&gt;用户)，因此那些列被赋予缺省值&lt;CODE&gt;'N'&lt;/CODE&gt;。这是&lt;CODE&gt;GRANT USAGE&lt;/CODE&gt;做的同样的事情。 &lt;/P&gt;
&lt;P&gt;下列例子增加一个用户&lt;CODE&gt;custom&lt;/CODE&gt;，他能从主机&lt;CODE&gt;localhost&lt;/CODE&gt;、&lt;CODE&gt;server.domain&lt;/CODE&gt;和&lt;CODE&gt;whitehouse.gov&lt;/CODE&gt;连接。他只想要从&lt;CODE&gt;localhost&lt;/CODE&gt;存取&lt;CODE&gt;bankaccount&lt;/CODE&gt;数据库，从&lt;CODE&gt;whitehouse.gov&lt;/CODE&gt;存取&lt;CODE&gt;expenses&lt;/CODE&gt;数据库和从所有3台主机存取&lt;CODE&gt;customer&lt;/CODE&gt;数据库。他想要从所有3台主机上使用口令&lt;CODE&gt;stupid&lt;/CODE&gt;。 &lt;/P&gt;
&lt;P&gt;为了使用&lt;CODE&gt;GRANT&lt;/CODE&gt;语句设置个用户的权限，运行这些命令： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql --user=root mysql
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON bankaccount.*
           TO custom@localhost
           IDENTIFIED BY 'stupid';
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON expenses.*
           TO custom@whitehouse.gov
           IDENTIFIED BY 'stupid';
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON customer.*
           TO custom@'%'
           IDENTIFIED BY 'stupid';
&lt;/PRE&gt;
&lt;P&gt;通过直接修改授权表设置用户权限，运行这些命令(注意，在结束时&lt;CODE&gt;FLUSH PRIVILEGES&lt;/CODE&gt;)： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql --user=root mysql
mysql&amp;gt; INSERT INTO user (Host,User,Password)
       VALUES('localhost','custom',PASSWORD('stupid'));
mysql&amp;gt; INSERT INTO user (Host,User,Password)
       VALUES('server.domain','custom',PASSWORD('stupid'));
mysql&amp;gt; INSERT INTO user (Host,User,Password)
       VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql&amp;gt; INSERT INTO db
       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
        Create_priv,Drop_priv)
       VALUES
       ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql&amp;gt; INSERT INTO db
       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
        Create_priv,Drop_priv)
       VALUES
       ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
mysql&amp;gt; INSERT INTO db
       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
        Create_priv,Drop_priv)
       VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
mysql&amp;gt; FLUSH PRIVILEGES;
&lt;/PRE&gt;
&lt;P&gt;头3个&lt;CODE&gt;INSERT&lt;/CODE&gt;语句增加&lt;CODE&gt;user&lt;/CODE&gt;表条目，允许用户&lt;CODE&gt;custom&lt;/CODE&gt;用给定口令从不同的主机进行连接，但是没有授予任何许可(所有权限被设置为缺省值&lt;CODE&gt;'N'&lt;/CODE&gt;)。后3个&lt;CODE&gt;INSERT&lt;/CODE&gt;语句增加&lt;CODE&gt;db&lt;/CODE&gt;表条目，授予&lt;CODE&gt;custom&lt;/CODE&gt;以&lt;CODE&gt;bankaccount&lt;/CODE&gt;、&lt;CODE&gt;expenses&lt;/CODE&gt;和&lt;CODE&gt;customer&lt;/CODE&gt;数据库权限，但是只能在从正确的主机存取时。通常，在授权表直接被修改时，服务器必须被告知再次装入他们(用&lt;CODE&gt;FLUSH PRIVILEGES&lt;/CODE&gt;)以便使权限修改生效。&lt;/P&gt;
&lt;P&gt;如果你想要给特定的用户从一个给定的域上的任何机器上存取权限，你可以发出一个如下的&lt;CODE&gt;GRANT&lt;/CODE&gt;语句： &lt;/P&gt;&lt;PRE&gt;mysql&amp;gt; GRANT ...
           ON *.*
           TO myusername@"%.mydomainname.com"
           IDENTIFIED BY 'mypassword';
&lt;/PRE&gt;
&lt;P&gt;为了通过直接修改授权表做同样的事情，这样做： &lt;/P&gt;&lt;PRE&gt;mysql&amp;gt; INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',
           PASSWORD('mypassword'),...);
mysql&amp;gt; FLUSH PRIVILEGES;
&lt;/PRE&gt;
&lt;P&gt;你也可以使用&lt;CODE&gt;xmysqladmin&lt;/CODE&gt;、&lt;CODE&gt;mysql_webadmin&lt;/CODE&gt;甚至&lt;CODE&gt;xmysql&lt;/CODE&gt;在授权表中插入、改变和更新值。你可以在&lt;STRONG&gt;MySQL&lt;/STRONG&gt;的&lt;A href="http://www.mysql.com/Contrib/"&gt;Contrib目录&lt;/A&gt;找到这些实用程序。 &lt;/P&gt;
&lt;H2&gt;&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_toc.html#Passwords" name=Passwords&gt;6.12 怎样设置口令&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;在前面小节的例子里说明了一个重要的原则：当你使用&lt;CODE&gt;INSERT&lt;/CODE&gt;或&lt;CODE&gt;UPDATE&lt;/CODE&gt;语句存储一个非空的口令时，你必须使用&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;函数加密它。这是因为在&lt;CODE&gt;user&lt;/CODE&gt;表中以加密形式存储口令，而不是作为纯文本。如果你忘记这个事实，你可能像这样试图设置口令： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql -u root mysql 
mysql&amp;gt; INSERT INTO user (Host,User,Password) VALUES('%','jeffrey','biscuit'); 
mysql&amp;gt; FLUSH PRIVILEGES
&lt;/PRE&gt;
&lt;P&gt;结果是纯文本值&lt;CODE&gt;'biscuit'&lt;/CODE&gt;作为口令被存储在&lt;CODE&gt;user&lt;/CODE&gt;表中。在用户&lt;CODE&gt;jeffrey&lt;/CODE&gt;试图用这个口令连接服务器时，&lt;CODE&gt;mysql&lt;/CODE&gt;客户用&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;加密它并且将结果送给服务器，服务器比较在&lt;CODE&gt;user&lt;/CODE&gt;表中的值(它是纯文本值&lt;CODE&gt;'biscuit'&lt;/CODE&gt;)和加密的口令(&lt;EM&gt;而不是&lt;/EM&gt; &lt;CODE&gt;'biscuit'&lt;/CODE&gt;)，比较失败并且服务器拒绝连接： &lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysql -u jeffrey -pbiscuit test
Access denied
&lt;/PRE&gt;
&lt;P&gt;因为当他们被插入&lt;CODE&gt;user&lt;/CODE&gt;表时，口令必须被加密，&lt;CODE&gt;相反，INSERT&lt;/CODE&gt;语句应该象这样被指定： &lt;/P&gt;&lt;PRE&gt;mysql&amp;gt; INSERT INTO user (Host,User,Password)
       VALUES('%','jeffrey',PASSWORD('biscuit'));
&lt;/PRE&gt;
&lt;P&gt;当你使用&lt;CODE&gt;SET PASSWORD&lt;/CODE&gt;语句时，你也必须使用&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;函数： &lt;/P&gt;&lt;PRE&gt;mysql&amp;gt; SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit'); 
&lt;/PRE&gt;
&lt;P&gt;如果你使用&lt;CODE&gt;GRANT ... IDENTIFIED BY&lt;/CODE&gt;语句或&lt;CODE&gt;mysqladmin password&lt;/CODE&gt;命令设置口令，&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;函数是不必要的。他们都考虑到为你加密口令，多以你可像这样指定一个口令&lt;CODE&gt;'biscuit'&lt;/CODE&gt;： &lt;/P&gt;&lt;PRE&gt;mysql&amp;gt; GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
&lt;/PRE&gt;
&lt;P&gt;或&lt;/P&gt;&lt;PRE&gt;shell&amp;gt; mysqladmin -u jeffrey password biscuit 
&lt;/PRE&gt;
&lt;P&gt;注意： &lt;CODE&gt;PASSWORD()&lt;/CODE&gt;不是以在Unix口令加密的同样方法施行口令加密。你不应该假定如果你的Unix口令和你的&lt;STRONG&gt;MySQL&lt;/STRONG&gt;口令是一样的，&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;将导致与在Unix口令文件被存储的同样的加密值。见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#User_names"&gt;6.2 MySQL 用户名和口令&lt;/A&gt;。 &lt;/P&gt;
&lt;H2&gt;&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_toc.html#Access_denied" name=Access_denied&gt;6.13 &lt;CODE&gt;Access denied&lt;/CODE&gt;错误的原因&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;当你试着联接&lt;STRONG&gt;MySQL&lt;/STRONG&gt;服务器时，如果你碰到&lt;CODE&gt;Access denied&lt;/CODE&gt;错误，显示在下面的表指出一些你能用来更正这个问题的动作： 
&lt;UL&gt;
&lt;LI&gt;你是在安装&lt;STRONG&gt;MySQL&lt;/STRONG&gt;以后运行&lt;CODE&gt;mysql_install_db&lt;/CODE&gt;的脚本，来设置初始授权表内容吗？如果不是，这样做。见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#Default_privileges"&gt;6.10 设置初始MySQL权限&lt;/A&gt;。通过执行这个命令测试初始权限： &lt;PRE&gt;shell&amp;gt; mysql -u root test 
&lt;/PRE&gt;
&lt;P&gt;服务器应该让你无误地连接。你也应该保证你在&lt;STRONG&gt;MySQL&lt;/STRONG&gt;数据库目录有一个文件&lt;TT&gt;&amp;#8220;user.MYD&amp;#8221;&lt;/TT&gt;。通常，它是&lt;TT&gt;&amp;#8220;PATH/var/mysql/user.MYD&amp;#8221;&lt;/TT&gt;，在此&lt;CODE&gt;PATH&lt;/CODE&gt;是&lt;STRONG&gt;MySQL&lt;/STRONG&gt;安装根目录的路径。 &lt;/P&gt;
&lt;LI&gt;在一个新的安装以后，你应该连接服务器并且设置你的用户及其存取许可： &lt;PRE&gt;shell&amp;gt; mysql -u root mysql 
&lt;/PRE&gt;
&lt;P&gt;服务器应该让你连接，因为&lt;STRONG&gt;MySQL&lt;/STRONG&gt; &lt;CODE&gt;root&lt;/CODE&gt;用户初始时没有口令。既然那也是一个安全风险，当你正在设置其他&lt;STRONG&gt;MySQL&lt;/STRONG&gt;用户时，设定&lt;CODE&gt;root&lt;/CODE&gt;口令是一件重要的事请。如果你作为&lt;CODE&gt;root&lt;/CODE&gt;尝试连接并且得到这个错误： &lt;/P&gt;&lt;PRE&gt;Access denied for user: '@unknown' to database mysql 
&lt;/PRE&gt;
&lt;P&gt;这意味着，你没有一个条目在&lt;CODE&gt;user&lt;/CODE&gt;表中的一个&lt;CODE&gt;User&lt;/CODE&gt;列值为&lt;CODE&gt;'root'&lt;/CODE&gt;并且&lt;CODE&gt;mysqld&lt;/CODE&gt;不能为你的客库解析主机名。在这种情况下，你必须用&lt;CODE&gt;--skip-grant-tables&lt;/CODE&gt;选项重启服务器并且编辑你的&lt;TT&gt;&amp;#8220;/etc/hosts&amp;#8221;&lt;/TT&gt;或&lt;TT&gt;&amp;#8220;\windows\hosts&amp;#8221;&lt;/TT&gt;文件为你的主机增加一个条目。 &lt;/P&gt;
&lt;LI&gt;&lt;A name=IDX148&gt;&lt;/A&gt;如果你从一个3.22.11以前的版本更新一个现存的&lt;STRONG&gt;MySQL&lt;/STRONG&gt;安装到3.22.11版或以后版本，你运行了&lt;CODE&gt;mysql_fix_privilege_tables&lt;/CODE&gt;脚本吗？如果没有，运行它。在&lt;CODE&gt;GRANT&lt;/CODE&gt;语句变得能工作时，授权表的结构用&lt;STRONG&gt;MySQL&lt;/STRONG&gt; 3.22.11修改 。 
&lt;LI&gt;如果你直接对授权表做修改(使用&lt;CODE&gt;INSERT&lt;/CODE&gt;或&lt;CODE&gt;UPDATE&lt;/CODE&gt;语句)并且你的改变似乎被忽略，记住，你必须发出一个&lt;CODE&gt;FLUSH PRIVILEGES&lt;/CODE&gt;语句或执行一个&lt;CODE&gt;mysqladmin flush-privileges&lt;/CODE&gt;命令导致服务器再次读入表，否则你的改变要道下一次服务器被重启时再生效。记住在你设定&lt;CODE&gt;root&lt;/CODE&gt;口令以后，你将不需要指定它，直到在你清洗(flush)权限以后，因为服务器仍然不会知道你改变了口令！ 
&lt;LI&gt;如果你的权限似乎在一个会话(session)当中改变了，可能是一个超级用户改变了他们。再次装入授权表作用于新客户连接，但是它也影响现存的连接，如&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#Privilege_changes"&gt;6.9 权限改变何时生效&lt;/A&gt;小节所述。 
&lt;LI&gt;为了测试，用&lt;CODE&gt;--skip-grant-tables&lt;/CODE&gt;选项启动&lt;CODE&gt;mysqld&lt;/CODE&gt;守护进程，然后你可以改变&lt;STRONG&gt;MySQL&lt;/STRONG&gt;授权表并且使用&lt;CODE&gt;mysqlaccess&lt;/CODE&gt;脚本检查你的修改是否有如期的效果。当你对你的改变满意时，执行&lt;CODE&gt;mysqladmin flush-privileges&lt;/CODE&gt;告诉&lt;CODE&gt;mysqld&lt;/CODE&gt;服务器开始使用新的权限表。&lt;STRONG&gt;注意：&lt;/STRONG&gt;再次装入授权表覆盖了&lt;CODE&gt;--skip-grant-tables&lt;/CODE&gt;选项。这允许你告诉服务器开始使用授权表，而不用停掉并重启它。 
&lt;LI&gt;如果你有一个Perl、Python或ODBC程序的存取问题，试着用&lt;CODE&gt;mysql -u user_name db_name&lt;/CODE&gt;或&lt;CODE&gt;mysql -u user_name -pyour_pass db_name&lt;/CODE&gt;与服务器连接。如果你能用&lt;CODE&gt;mysql&lt;/CODE&gt;客户连接，这是你程序的一个问题而不是存取权限的问题。（注意在&lt;CODE&gt;-p&lt;/CODE&gt;和口令之间没有空格；你也能使用&lt;CODE&gt;--password=your_pass&lt;/CODE&gt;句法指定口令。） 
&lt;LI&gt;如果你不能让口令工作，记得如果你用&lt;CODE&gt;INSERT&lt;/CODE&gt;, &lt;CODE&gt;UPDATE&lt;/CODE&gt;或&lt;CODE&gt;SET PASSWORD&lt;/CODE&gt;语句设置口令，你必须使用&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;函数。如果你用&lt;CODE&gt;GRANT ... INDENTIFIED BY&lt;/CODE&gt;语句或&lt;CODE&gt;mysqladmin password&lt;/CODE&gt;命令指定口令，&lt;CODE&gt;PASSWORD()&lt;/CODE&gt;函数是不需要的。见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#Passwords"&gt;6.12 怎样设置口令&lt;/A&gt;。 
&lt;LI&gt;&lt;CODE&gt;localhost&lt;/CODE&gt;是你本地主机名的一个同义词，并且也是如果你不明确地指定主机而客户尝试连接的缺省主机。然而，如果你正在运行于一个使用MIT-pthreads的系统上，连接&lt;CODE&gt;localhost&lt;/CODE&gt;是不行的(&lt;CODE&gt;localhost&lt;/CODE&gt;连接使用Unix套接字进行，它没被 MIT-pthreads支持)，为了在这样的系统上避免这个问题，你应该使用&lt;CODE&gt;--host&lt;/CODE&gt;选项明确地命名服务器主机，这将做一个 TCP/IP连接到&lt;CODE&gt;mysqld&lt;/CODE&gt;服务器。在这种情况下，你必须有在服务器主机上的&lt;CODE&gt;user&lt;/CODE&gt;表中条目的你真实的主机名。（即使你在服务器同一台的主机上运行一个客户程序，这也是真的。） 
&lt;LI&gt;当尝试用&lt;CODE&gt;mysql -u user_name db_name&lt;/CODE&gt;与数据库连接时，如果你得到一个&lt;CODE&gt;Access denied&lt;/CODE&gt;错误，你可能有与&lt;CODE&gt;user&lt;/CODE&gt;桌有关的问题，通过执行&lt;CODE&gt;mysql -u root mysql&lt;/CODE&gt;并且发出下面的SQL语句检查： &lt;PRE&gt;mysql&amp;gt; SELECT * FROM user; 
&lt;/PRE&gt;
&lt;P&gt;结果应该包含一个有&lt;CODE&gt;Host&lt;/CODE&gt;和&lt;CODE&gt;User&lt;/CODE&gt;列的条目匹配你的计算机主机名和你的&lt;STRONG&gt;MySQL&lt;/STRONG&gt;用户名。 &lt;/P&gt;
&lt;LI&gt;&lt;CODE&gt;Access denied&lt;/CODE&gt;错误消息将告诉你，你正在用哪个用户尝试登录，你正在试图用连接哪个主机，并且你是否正在使用一个口令。通常，你应该在&lt;CODE&gt;user&lt;/CODE&gt;表中有一个条目，正确地匹配在错误消息给出的主机名和用户名。 
&lt;LI&gt;如果当你试着从一个不是&lt;STRONG&gt;MySQL&lt;/STRONG&gt;服务器正在运行的主机上连接时，你得到下列错误，那么在&lt;CODE&gt;user&lt;/CODE&gt;表中没有匹配那台主机行： &lt;PRE&gt;Host ... is not allowed to connect to this MySQL server 
&lt;/PRE&gt;
&lt;P&gt;你可以通过使用&lt;CODE&gt;mysql&lt;/CODE&gt;命令行工具（在服务器主机上！)修正它，把你正在试图连接的用户/主机名组合新加一行到&lt;CODE&gt;user&lt;/CODE&gt;表中。如果你不在运行&lt;STRONG&gt;MySQL&lt;/STRONG&gt; 3.22并且你不知道你正在从它连接的机器的IP数字或主机名，你应该把一个&lt;CODE&gt;'%'&lt;/CODE&gt;条目作为&lt;CODE&gt;Host&lt;/CODE&gt;列值放在&lt;CODE&gt;user&lt;/CODE&gt;表中并且在服务器机器上使用&lt;CODE&gt;--log&lt;/CODE&gt;选项重启&lt;CODE&gt;mysqld&lt;/CODE&gt;。在试图从客户机器连接以后，在&lt;STRONG&gt;MySQL&lt;/STRONG&gt;记录文件中的信息将显示你如何真正进行连接。（然后用在记录文件上面显示出的实际的主机名代替&lt;CODE&gt;user&lt;/CODE&gt;表中的&lt;CODE&gt;'%'&lt;/CODE&gt;条目。否则，你将有一个不安全的系统。）&lt;/P&gt;
&lt;LI&gt;如果&lt;CODE&gt;mysql -u root test&lt;/CODE&gt;工作但是&lt;CODE&gt;mysql -h your_hostname -u root test&lt;/CODE&gt;导致&lt;CODE&gt;Access denied&lt;/CODE&gt;，那么在&lt;CODE&gt;user&lt;/CODE&gt;表中你可能没有你的主机的正确名字。这里的一个普遍的问题是在&lt;CODE&gt;user&lt;/CODE&gt;表条目中的&lt;CODE&gt;Host&lt;/CODE&gt;值指定一个唯一的主机名，但是你系统的名字解析例程返回一个完全正规的域名(或相反)。例如，如果你在&lt;CODE&gt;user&lt;/CODE&gt;表中有一个主机是&lt;CODE&gt;'tcx'&lt;/CODE&gt;的条目，但是你的 DNS告诉&lt;STRONG&gt;MySQL&lt;/STRONG&gt;你的主机名是&lt;CODE&gt;'tcx.subnet.se'&lt;/CODE&gt;，条目将不工作。尝试把一个条目加到&lt;CODE&gt;user&lt;/CODE&gt;表中，它包含你主机的IP数字作为&lt;CODE&gt;Host&lt;/CODE&gt;列的值。（另外，你可以把一个条目加到&lt;CODE&gt;user&lt;/CODE&gt;表中，它有包含一个通配符如&lt;CODE&gt;'tcx.%'&lt;/CODE&gt;的&lt;CODE&gt;Host&lt;/CODE&gt;值。然而，使用以&lt;SAMP&gt;&amp;#8220;%&amp;#8221;&lt;/SAMP&gt;结尾的主机名是&lt;EM&gt;不安全的&lt;/EM&gt;并且&lt;EM&gt;不&lt;/EM&gt;推荐！） 
&lt;LI&gt;如果&lt;CODE&gt;mysql -u user_name test&lt;/CODE&gt;工作但是&lt;CODE&gt;mysql -u user_name other_db_name&lt;/CODE&gt;不工作，对&lt;CODE&gt;other_db_name&lt;/CODE&gt;，你在&lt;CODE&gt;db&lt;/CODE&gt;表中没有没有一个条目列出。 
&lt;LI&gt;当在服务器机器上执行&lt;CODE&gt;mysql -u user_name db_name&lt;/CODE&gt;时，它工作，但是在其它客户机器上执行&lt;CODE&gt;mysql -h host_name -u user_name db_name&lt;/CODE&gt;时，它却不工作，你没有把客户机器列在&lt;CODE&gt;user&lt;/CODE&gt;表或&lt;CODE&gt;db&lt;/CODE&gt;表中。 
&lt;LI&gt;如果你不能弄明白你为什么得到&lt;CODE&gt;Access denied&lt;/CODE&gt;，从&lt;CODE&gt;user&lt;/CODE&gt;表中删除所有&lt;CODE&gt;Host&lt;/CODE&gt;包含通配符值的条目(包含&lt;SAMP&gt;&amp;#8220;%&amp;#8221;&lt;/SAMP&gt;或&lt;SAMP&gt;&amp;#8220;_&amp;#8221;的条目&lt;/SAMP&gt;)。一个很普遍的错误是插入用&lt;CODE&gt;Host&lt;/CODE&gt;=&lt;CODE&gt;'%'&lt;/CODE&gt;和&lt;CODE&gt;User&lt;/CODE&gt;=&lt;CODE&gt;'some user'&lt;/CODE&gt;插入一个新条目，认为这将允许你指定&lt;CODE&gt;localhost&lt;/CODE&gt;从同一台机器进行连接。它不工作的原因是缺省权限包括一个有&lt;CODE&gt;Host&lt;/CODE&gt;=&lt;CODE&gt;'localhost'&lt;/CODE&gt;和&lt;CODE&gt;User&lt;/CODE&gt;=&lt;CODE&gt;''&lt;/CODE&gt;的条目，因为那个条目一个比&lt;CODE&gt;'%'&lt;/CODE&gt;更具体的&lt;CODE&gt;Host&lt;/CODE&gt;值&lt;CODE&gt;'localhost'&lt;/CODE&gt;，当从&lt;CODE&gt;localhost&lt;/CODE&gt;连接时，它用于指向新条目！正确的步骤是插入&lt;CODE&gt;Host&lt;/CODE&gt;=&lt;CODE&gt;'localhost'&lt;/CODE&gt;和&lt;CODE&gt;User&lt;/CODE&gt;=&lt;CODE&gt;'some_user'&lt;/CODE&gt;的第2个条目，或删除&lt;CODE&gt;Host&lt;/CODE&gt;=&lt;CODE&gt;'localhost'&lt;/CODE&gt;和&lt;CODE&gt;User&lt;/CODE&gt;=&lt;CODE&gt;''&lt;/CODE&gt;条目。 
&lt;LI&gt;如果你得到下列错误，你可以有一个与&lt;CODE&gt;db&lt;/CODE&gt;或&lt;CODE&gt;host&lt;/CODE&gt;表有关的问题： &lt;PRE&gt;Access to database denied
&lt;/PRE&gt;
&lt;P&gt;如果从&lt;CODE&gt;db&lt;/CODE&gt;表中选择了在&lt;CODE&gt;Host&lt;/CODE&gt;列有空值的条目，保证在&lt;CODE&gt;host&lt;/CODE&gt;表中有一个或多个相应的条目，指定运用&lt;CODE&gt;db&lt;/CODE&gt;表中的哪些主机。如果在使用SQL命令&lt;CODE&gt;SELECT ... INTO OUTFILE&lt;/CODE&gt;或&lt;CODE&gt;LOAD DATA INFILE&lt;/CODE&gt;时，你得到错误，在&lt;CODE&gt;user&lt;/CODE&gt;表中的你的条目可能启用&lt;STRONG&gt;file&lt;/STRONG&gt;权限。 &lt;/P&gt;
&lt;LI&gt;&lt;A name=IDX149&gt;记住&lt;/A&gt;，客户程序将使用在配置文件或环境变量被指定了的连接参数。如果当你不在命令行上指定他们时，一个客户似乎正在发送错误的缺省连接参数，检查你的环境和在你的主目录下的&lt;TT&gt;&amp;#8220;.my.cnf&amp;#8221;&lt;/TT&gt;文件。你也可以检查系统范围的&lt;STRONG&gt;MySQL&lt;/STRONG&gt;配置文件，尽管更不可能将在那里指定那个客户的连接参数。见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Installing.html#Option_files"&gt;4.15.4 选项文件&lt;/A&gt;。如果当你没有任何选项运行一个客户时，你得到&lt;CODE&gt;Access denied&lt;/CODE&gt;，确认你没在任何选项文件里指定一个旧的口令！见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Installing.html#Option_files"&gt;4.15.4 选项文件&lt;/A&gt;。 
&lt;LI&gt;如果任何其它事情失败，用调试选项(例如，&lt;CODE&gt;--debug=d,general,query&lt;/CODE&gt;)启动&lt;CODE&gt;mysqld&lt;/CODE&gt;守护进程。这将打印有关尝试连接的主机和用户信息，和发出的每个命令的信息。见&lt;A href="http://www.linuxforum.net/books/mysqlmanual/manual_Porting.html#Debugging_server"&gt;G.1 调试一个MySQL服务器&lt;/A&gt;。 
&lt;LI&gt;如果你有任何与&lt;STRONG&gt;MySQL&lt;/STRONG&gt;授权表的其它问题，而且觉得你必须邮寄这个问题到邮寄表，总是提供一个&lt;STRONG&gt;MySQL&lt;/STRONG&gt;授权表的倾倒副本(dump)。你可用&lt;CODE&gt;mysqldump mysql&lt;/CODE&gt;命令倾倒数据库表。象平时一样，用&lt;CODE&gt;mysqlbug&lt;/CODE&gt;脚本邮寄你的问题。在一些情况下你可能用&lt;CODE&gt;--skip-grant-tables&lt;/CODE&gt;重启&lt;CODE&gt;mysqld&lt;/CODE&gt;以便能运行&lt;CODE&gt;mysqldump&lt;/CODE&gt;。 &lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://blog.vckbase.com/zaboli/aggbug/19688.html" width = "1" height = "1" /&gt;</description></item></channel></rss>