欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php數(shù)據(jù)庫觸發(fā)器 數(shù)據(jù)庫如何觸發(fā)觸發(fā)器

php是干什么用的?

PHP主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用PHP開發(fā),PHP是開源的,這是使得PHP經(jīng)久不衰的原因。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、官渡網(wǎng)站維護(hù)、網(wǎng)站推廣。

在電商、社區(qū)等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應(yīng)用極為廣泛。

PHP可以完成任何CGI腳本可以完成的任務(wù),但它的功能的發(fā)揮取決于它和各種數(shù)據(jù)庫的兼容性。

php的特點(diǎn):

PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。

PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁——動態(tài)頁面方面,與其他的編程語言相比。

PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多。

PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。

PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。

最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!

零基礎(chǔ),想學(xué)習(xí)PHP,應(yīng)該先學(xué)習(xí)什么?

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql數(shù)據(jù)庫設(shè)計(jì)表、mysql數(shù)據(jù)庫的基本SQL語句。現(xiàn)在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點(diǎn)層次的就是linux服務(wù)器。

PHP攻城獅踐行學(xué)習(xí)路線圖:

1、用集成環(huán)境安裝PHP環(huán)境,一定要記住這一點(diǎn),不要自己分開去裝,尤其是自學(xué)的朋友。不然你會覺得很復(fù)雜,會沒有信心學(xué)下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最后的沉淀。

2、先了解一些基本的變量類型,語法,函數(shù),基本邏輯,寫簡單的代碼。前期以嘗試,培養(yǎng)興趣為主。這段時間是打基礎(chǔ)很好的時候,這個會影響你后面的發(fā)展,不過也可以在后期去完善。

3、這時候你可能覺得PHP就這樣,沒什么難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什么用。在這時候一定要堅(jiān)持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領(lǐng)悟的。這時,建議學(xué)習(xí)html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結(jié)其實(shí)有相同的思路,可以結(jié)合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現(xiàn)在在學(xué)習(xí)MySQL,也是先了解基礎(chǔ)的。這個是干什么的,我可以用它做什么。因?yàn)橹把b的集成環(huán)境。為什么感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費(fèi)時間,喪失信心。這時候我們要做的是學(xué)習(xí)壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標(biāo)也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預(yù)設(shè)的目標(biāo)不遠(yuǎn)了,完成了整個學(xué)習(xí)的70%了。后面的是在之前的基礎(chǔ)上升華。把HTML和css、js結(jié)合、靜態(tài)文件和PHP結(jié)合、PHP和MySQL結(jié)合。這個階段可能越到的問題會異常的多,一定要學(xué)會解決問題。網(wǎng)上很多都是答案,同樣你要學(xué)會問問題。

6、這些之后你基本已經(jīng)快到學(xué)習(xí)的尾聲了,但還缺少經(jīng)驗(yàn)。這時,你可以看一些網(wǎng)上開源的cms,例如織夢,國內(nèi)用的多,越到問題好解決。看看一些視頻(網(wǎng)上免費(fèi)的很多),查漏補(bǔ)缺,總結(jié)歸納形成自己的知識體系。是時候該準(zhǔn)備慶祝下自己這段的時間沒有白費(fèi)(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實(shí)并不那么難。堅(jiān)持,堅(jiān)持;努力,努力;學(xué)習(xí),學(xué)習(xí)

請問大蝦們

電腦編程的行嗎?

FreeBasic

可以編寫WINDONS程序。

這個軟件是免費(fèi)的,而且很小,大概十幾分鐘就下來了。

BASIC學(xué)好后,可以看VB,但我不知道是否能在這個軟件運(yùn)行。

學(xué)完BASIC,你的程序基礎(chǔ)就差不多了。這個時候有四條路在你面前:

VB,C,JAVA,PASCAL。

其中,VB最簡單,但可能工作不是那么好找,其它三種可以,其中C,JAVA應(yīng)該是最流行的。

就我的精練,PASCAL比較簡單,JAVA遲滯,最難是C。

下面我分別講講。

首先,PASCAL:

程序設(shè)計(jì)方法與PASCAL語言

本書是作者多年教學(xué)的總結(jié),通過分析、加工、提煉而成。針對程序設(shè)計(jì)語言的特點(diǎn),針對人的思維特點(diǎn),以面向程序設(shè)計(jì)為中心,以程序設(shè)計(jì)方法為主線來介紹PASCAL語言的基于結(jié)構(gòu)化程序設(shè)計(jì)思想的教科書。作者力求使讀者通過學(xué)習(xí)本書不僅掌握PASCAL語言,更主要的是使讀 ...

你可以在

FreePascal

下載免費(fèi)的編譯器。

然后,VB:

VB語言程序設(shè)計(jì)

本書以VISUAL BASIC 6.0為語言背景,以程序結(jié)構(gòu)為主線,介紹可視化程序設(shè)計(jì)的基本知識和編程方法。內(nèi)容包括:面向?qū)ο蟮某醪礁拍睿绦蛟O(shè)計(jì)基礎(chǔ),數(shù)據(jù)輸入/輸出,選擇結(jié)構(gòu)設(shè)計(jì),循環(huán)結(jié)構(gòu)設(shè)計(jì),數(shù)組,過程,數(shù)據(jù)文件,常用控件的使用,程序調(diào)試等。 ...

C語言

C程序設(shè)計(jì)(第二版)

C語言是國內(nèi)外廣泛使用的計(jì)算機(jī)語言,是計(jì)算機(jī)應(yīng)用人員應(yīng)掌握的一種程序設(shè)計(jì)工具。本書第一版于1991年出版,全書針對初學(xué)者的特點(diǎn),精心策劃、準(zhǔn)確定位、概念清晰、例題豐富、深入淺出,受到專家和讀者的一致好評。普遍認(rèn)為它是學(xué)習(xí)C語言的好教材,被全國大多數(shù)高校 ...

C語言參考手冊

語言參考手冊的最新版,在強(qiáng)調(diào)正確性、可移植性和可維護(hù)性的基礎(chǔ)上,對C語言的具體細(xì)節(jié)、運(yùn)行庫以及C語言編程風(fēng)格做了完整、準(zhǔn)確的描述。本書涵蓋了傳統(tǒng)C語言、C89、C95、C99等所有C語言版本的實(shí)現(xiàn),同時討論了C++與C語言兼容的部分。全書自上而下介紹了C語言的詞法結(jié)構(gòu)、預(yù)處理器、聲明、類型表達(dá)式、語句、函數(shù)和運(yùn)? ...

C++沉思錄 C++沉思錄

編程技術(shù),不僅告訴你如何編程,還告訴你為什么要這樣編程。本書曾出現(xiàn)在眾多的C++專家推薦書目中。 這將是C++程序員的必讀之作。因?yàn)椋核素S富的C++思想和技術(shù),從詳細(xì)的代碼實(shí)例總結(jié)出程序設(shè)計(jì)的原則和方法。 不僅教你如何遵循規(guī)則,還教你如何思考C++編程。既包括面向?qū)ο缶幊桃舶ǚ盒途幊獭?探究STL這一近 ..

泛型編程與STL

編程與STL》闡述了泛型編程的中心思想:concepts、modeling、refinement,并為你展示這些思想如何導(dǎo)出STL的基礎(chǔ)概念:iterators、containers、function objects。循此路線,你可以把STL想像為一個由來的完整優(yōu)勢……

C++編程思想第2卷:實(shí)用編程技術(shù)

編程技術(shù)和最佳的實(shí)踐方法,深入探究了異常處理方法和異常安全設(shè)計(jì);介紹C++的字符串、輸入輸出流、STL算法、容器和模板的現(xiàn)代用法,包括模板元編程;解釋多重繼承問題的難點(diǎn),展示RTTI的實(shí)際使用,描述了典型的設(shè)計(jì)模式及其實(shí)現(xiàn),特別介紹被認(rèn)為是標(biāo)準(zhǔn)C++下一版特征之一的多線程處理編程技術(shù),并提供了最新的研究成果? ...

C語言的編譯器,可以使用VC.NET,BC++這些商業(yè)軟件。也可以使用一些免費(fèi)的軟件。

DEV-C++

這個編譯器很好,我讀書時一直使用。功能不是很強(qiáng)大,但插件很多。

code::blocks

最近發(fā)現(xiàn)的,和DEV-CPP差不多,但功能比前者全面。

OpenWatcom

老牌的編譯器,很多游戲都是它寫的。

以上這些軟件同樣可以編譯C++。

C學(xué)好后可以學(xué)C++,我學(xué)C用了可能兩年多時間。

JAVA語言:

應(yīng)該說JAVA是最有前途的語言,我建議你學(xué)這個,又好找工作。

Java程序設(shè)計(jì)基礎(chǔ)

本書主要針對初學(xué)Java的讀者,主要介紹了面向?qū)ο蟪绦虼a的基本概念:創(chuàng)建圖形用戶接口所要事的可視化對象:基于事件的編程等內(nèi)容。本書的主要目標(biāo)是:在合理的編程規(guī)則下以一種能夠被初級程序員接受的方式介紹上述內(nèi)容,以期提供給讀者工具、技術(shù)以及創(chuàng)建并保持程序的 ...

Java編程思想(原書第3版)

從本書獲得的各項(xiàng)大獎以及來自世界各地的讀者評論中,不難看出這是一本經(jīng)典之作。本書作者有多年的教學(xué)經(jīng)驗(yàn),對C、C++、Java語言都有獨(dú)到、深入的理解。因此他非常了解如何教授Java語言這門課程,也非常明白語言教學(xué)中的難點(diǎn)及人們的困惑。作者以通俗易懂及小而直接?...

剛開始學(xué),要選擇合適的工具,象NETBEANS,ECLIPSE這些東東都是專業(yè)級的,最好使用JCREATOR。這個軟件小巧到功能強(qiáng)大。

JCREATOR

其次就是網(wǎng)頁制作,這是每個程序員不得不做的事情。

如果你學(xué)的是VB。可以學(xué)ASP:

ASP程序設(shè)計(jì)

本書對ASP動態(tài)網(wǎng)站編程作了系統(tǒng)的介紹,全書分成四大部分。第一部分為環(huán)境配置與ASP編程基礎(chǔ),介紹ASP+SQL Server平臺的配置,以及HTML、CSS和VBScript語言的使用。第二部分為ASP數(shù)據(jù)庫程序設(shè)計(jì),介紹了ASP操作Access和SQL Server數(shù)據(jù)庫的三大基本格式,以及如何讀?...

ASP.NET 2.0高級編程

ASP.NET 2.0技術(shù)內(nèi)幕》的姐妹篇,側(cè)重于延伸和拓寬ASP.NET 2.0的高級主題,進(jìn)一步幫助讀者掌握并深入ASP .NET 2.0的精髓,為將來成功地構(gòu)建復(fù)雜精巧的、功能性更強(qiáng)的Web應(yīng)用程序奠定基矗全書共三部分:ASP.NET內(nèi)部機(jī)理、特有特性和ASP.NET控件。本書適合從事Web開發(fā)的程序員閱讀,旨在幫助他們提升ASP.NET開發(fā)技能。 ...

ASP.NET 2.0 高級編程(第4版) ASP.NET 2.0 高級編程(第4版)

ASP.NET各種編程技能的同時重點(diǎn)介紹了ASP.NET 2 O版本中的巨大變化,詳細(xì)闡述了ASP NET 2.0中所包含的每個新特性。書中提供了大量的實(shí)例,.可幫助讀者快速掌握如何在N ET Framework下構(gòu)建功能強(qiáng)大的ASP.NET應(yīng)用程序。本書適用于有一些 ASP NET基礎(chǔ)知識的學(xué)習(xí)者以及;隹備遷移到ASP NET 2 0的編程老手。

Programming ASP.NET 中文版(第3版)

ASP.NET;HTML編程基礎(chǔ);比較ASP和ASP.NET;ASP.NET中的事件;比較HTML控件和ASP控件;基本的ASP控件 API;代碼隱藏窗體;使用Visual Studio .NET集成開發(fā)環(huán)境;跟蹤,調(diào)試和錯誤處理;ASP.NET中的驗(yàn)證控件;數(shù)據(jù)綁定技術(shù)基礎(chǔ);列表控件和DataGrid控件;ADO.NET指南;調(diào)用存儲過程;更新數(shù)據(jù)庫記錄;Repeater和DataList? ...

要建立網(wǎng)站,你就不得不搭建服務(wù)器,IIS你肯定是用不上了,可以使用Apache的服務(wù)器,它提供ASP的,JSP和PHP的服務(wù)器

相對來說都很小,可你要選擇性的下載,安裝的時候看看相關(guān)的文章。

然后就是數(shù)據(jù)庫,

使用MYSQL吧,前期版本都很小。在網(wǎng)吧中主要就是練習(xí)。

學(xué)C的話,可以學(xué)PHP。

PHP程序設(shè)計(jì)與實(shí)例分析教程

本書為“全面突破網(wǎng)絡(luò)編程技術(shù)叢書”之一。本書介紹的PHP語言是一種服務(wù)器端解釋的腳本語言,它根據(jù)用戶請求或服務(wù)器端的數(shù)據(jù)產(chǎn)生動態(tài)網(wǎng)頁。全書系統(tǒng)地介紹了PHP在多種平臺環(huán)境中的設(shè)計(jì)方法,重點(diǎn)講解了其強(qiáng)大的內(nèi)建訪問數(shù)據(jù)庫的能力,以及它如何能夠作為Apache Web服務(wù) ...

PHP高級編程

PHP的基本知識與高級特性,指導(dǎo)讀者從入門到精通掌握PHP技術(shù)。內(nèi)容包括PHP的變量、函數(shù)、語句、表達(dá)式,PHP對文件的處理,PHP的模塊,如MySQL、XML、LDAP、GD,用PHP發(fā)送電子郵件,PHP的安全特性等。本書還介紹了五個范例應(yīng)用程序,結(jié)合實(shí)際應(yīng)用程序來講述編寫 PHP代碼的特點(diǎn)。本書的附錄還介紹了關(guān)于PHP的問題解答、技? ...

PHP與MySQL5程序設(shè)計(jì)(第2版)

PHP腳本語言和MySQL數(shù)據(jù)庫這兩種目前最流行的開源軟件,主要內(nèi)容包括PHP和MySQL基本概念、PHP擴(kuò)展與應(yīng)用庫、日期和時間功能、 PHP數(shù)據(jù)對象擴(kuò)展、PHP的mysqli擴(kuò)展、MySQL 5的存儲例程、觸發(fā)器和視圖等。本書實(shí)用性強(qiáng),幫助讀者學(xué)習(xí)PHP編程語言和MySQL數(shù)據(jù)庫服務(wù)器的最佳實(shí)踐,了解如何結(jié)合這些卓越的技術(shù)創(chuàng)建數(shù)據(jù)庫驅(qū)動的 ...

服務(wù)器和上面一樣。

學(xué)JAVA,就學(xué)JSP。

JSP程序設(shè)計(jì)教程

本書以JSP為開發(fā)工具,以java為開發(fā)語言,用通俗、簡明的語言由淺入深出地講解了JSP程序設(shè)計(jì)的開發(fā)方法,同時輔以大量的實(shí)例,書中所有實(shí)例程序代碼均在開發(fā)環(huán)境中調(diào)試通過。同時,每一章后面都附有相應(yīng)的練習(xí)題幫助讀者對本章所學(xué)知識進(jìn)一步理解和掌握。本書內(nèi)容 ...

JSP程序設(shè)計(jì)

JSP(JavaServer Pages)是目前熱門的跨平臺動態(tài)Web應(yīng)用開發(fā)技術(shù)。本書由經(jīng)驗(yàn)豐富的開發(fā)人員撰寫,是一本通俗易懂的JSP入門書籍。書中主要介紹JSP基礎(chǔ)知識、 JSP和表達(dá)式語言(EL)、JSP標(biāo)記庫和JSTL、JSP指令、JSP和JavaBean、錯誤處理、JSP和servlet、訪問數(shù)據(jù)庫以 ...

現(xiàn)在在J2EE方面,已經(jīng)流行框架了,就我自己使用來看,框架的確能大大的減少工作量。

實(shí)戰(zhàn)Struts

Struts解決了許多Web應(yīng)用程序開發(fā)中的常見問題。基于Struts應(yīng)用程序框架構(gòu)造的應(yīng)用程序,除了可以復(fù)用業(yè)已證明可用的解決方案外,同時也可以使得開發(fā)人員更加關(guān)注應(yīng)用程序的特性。Struts是由Apache軟件基金會支持的開源軟件。本書完整介紹了Struts框架結(jié)構(gòu),涵蓋了設(shè)計(jì)、數(shù)據(jù)校驗(yàn)、數(shù)據(jù)庫訪問、動態(tài)頁面生成、本地化、Str ...

WebWork in Action中文版

本書是一本從頭至尾都使用現(xiàn)實(shí)世界例子講述有關(guān)編寫Web應(yīng)用程序的書籍。WebWork所強(qiáng)調(diào)的內(nèi)容是:利用框架實(shí)現(xiàn)你的項(xiàng)目,而不是被框架所阻礙。在本書中,我們將從簡單的表單及表單處理開始,逐一講述編寫Web應(yīng)用程序的基礎(chǔ)知識:action、interceptor和result,以及控制反轉(zhuǎn)(IoC)模式、對象圖導(dǎo)航語言(OGNL)和所有來自Web ...

JSF實(shí)戰(zhàn)

JSF是Sun公司J2EE標(biāo)準(zhǔn)指定的Web應(yīng)用框架,得到了眾多廠商的支持。本書是JSF方面的名著,共分五個部分。第一部分是JSF基礎(chǔ)知識;第二部分是構(gòu)建UI;第三部分研究將原型轉(zhuǎn)化為實(shí)際應(yīng)用所需的應(yīng)用代碼;第四部分從組件開發(fā)的角度來研究JSF;第五部分基于第四部分所講述的知識給出了大量示例。本書作者是JSF界的權(quán)威,在書中提? ...

Spring in Action 中文版

本書分為三大部分和兩個附錄,每一部分專注于Spring框架的一個領(lǐng)域:核心層、中間層和Web層。第一部分展示了Spring框架的兩個核心概念:反向控制(Inverstion of Control,IoC)和面向切面編程(Aspect-Oriented Programming,AOP),以便讀者理解Spring的基礎(chǔ)原理,這些基礎(chǔ)原理在本書各個章節(jié)都會用到。第二部分在第1章介 ...

Hibernate實(shí)戰(zhàn)(第2版·英文版)

本書全面講述了Hibernate和Java Persistence,并對兩者進(jìn)行了詳細(xì)的對比分析。書中通過一個應(yīng)用將數(shù)百個例子融合起來,不僅深入剖析了Hibernate 3.2和Java Persistence 豐富的編程模型,還深刻闡述了數(shù)據(jù)庫設(shè)計(jì)、對象/關(guān)系映射(ORM)和優(yōu)化等方面的基本原則、策略和最佳實(shí)踐。書中處處閃爍著作者超凡的真知灼見,將大大 ? ...

掌握AJAX也是很必要的。

基于J2EE的Ajax寶典(含光盤1張)

本書主要介紹Ajax開發(fā)中的環(huán)境與框架特點(diǎn),著重介紹了Ajax的難點(diǎn)和重點(diǎn)。對于開發(fā)Ajax的常用工具也進(jìn)行了詳細(xì)講解。全書分3個部分,內(nèi)容涵蓋 Ajax基本概念、Ajax和新技術(shù)和Ajax核心應(yīng)用。書中通過Ajax與Struts及Ajax與Web Services的配合通過實(shí)際案例介紹Ajax的高級應(yīng)用。本書適合Java程序員;企業(yè)級項(xiàng)目的開發(fā)人員參考使用 ...

Ajax與PHPWeb開發(fā)

本書指導(dǎo)讀者使用Ajax、PHP及其他相關(guān)技術(shù)建立快速響應(yīng)的網(wǎng)頁。本書不僅從Ajax的客戶端和服務(wù)器端技術(shù)兩個方面指導(dǎo)讀者逐步掌握 Ajax基礎(chǔ)應(yīng)用,還通過實(shí)例詳細(xì)演示了Ajax表單驗(yàn)證、Ajax聊天室、Ajax Suggest、使用SVG實(shí)現(xiàn)的Ajax實(shí)時繪圖程序、Ajax Grid、Ajax RSS閱讀器和Ajax拖放等的實(shí)現(xiàn)過程。同時還介紹了在Windows和UNIX ...

征服ASP.NET 2.0 Ajax——Web開發(fā)技術(shù)詳解

本書介紹了最新的ASP.NET Ajax技術(shù)。全書共分為8篇,包括Ajax的基本知識、CSS樣式表、JavaScript、XMLHTTP請求和DOM對象、Ajax組件、 ASP.NET Ajax類庫等內(nèi)容。其中重點(diǎn)介紹的是ASP.NET 2.0 Ajax框架的各種使用方法,由淺入深地講解了Ajax在實(shí)際項(xiàng)目中的應(yīng)用。其中涉及了上百個Ajax的典型應(yīng)用,具有很高的參考價(jià)值。 ? ...

Ajax實(shí)戰(zhàn)

服務(wù)器和上一樣。

最后就是編程利器了,在JAVA方面,除了上面介紹的之外,還有

NETBEANS

eclipse

值得注意的是,ECLIPSE非常好用,集成了上述的很多框架,非常方便。

最后是學(xué)習(xí)的方向,寫什么,我的寫法是游戲,我寫過很多的小游戲,這樣程序就越寫越好了。

最后是相關(guān)網(wǎng)站:

參考資料:

php+myql數(shù)據(jù)庫觸發(fā)器怎么寫

如果公司里有上百個表要做觸發(fā)器,如果手動寫代碼的話。很累,一個小程序,自動生成mysql的觸發(fā)代碼。

?php

$dbname = 'test';//數(shù)據(jù)庫

$tab1 = 'user'; //執(zhí)行的表

$tab2 = 'user_bak'; //被觸發(fā)的表

$conn = mysql_connect("localhost","root", "root",$dbname) or

die("請檢查你的主機(jī)名數(shù)據(jù)庫用戶名和密碼");

mysql_select_db($dbname, $conn) or die("數(shù)據(jù)庫還沒有連接");

$query = mysql_query("SHOW COLUMNS FROM $tab1");mysql_query("");

while($row=mysql_fetch_array($query,MYSQL_NUM)){//得到表的字段數(shù)組

$temp[] = $row[0];

$str1 .= '`'.$row[0].'`,';

$str2 .= 'new.'.$row[0].',';

$str3 .= $row[0].'=new.'.$row[0].',';

}

//insert觸發(fā)器

$inser_str = "h1{$tab1}表的insert觸發(fā)器/h1";

$inser_str .= "create trigger ".$tab1."_insert brAFTER INSERT

bron ".$tab1."br";

$inser_str .="for each rowbr INSERT INTO {$tab2}

(".rtrim($str1,',').') VALUES ('.rtrim($str2,',').');';

//update觸發(fā)器

$update_str = "h1{$tab1}表的update觸發(fā)器/h1";

$update_str .= "create trigger ".$tab1."_updatebr";

$update_str .= "after updatebr";

$update_str .= "on ".$tab1.'br';

$update_str .= "for each rowbr";

$update_str .= "update ".$tab2." set ".rtrim($str3,',')." where id =

new.id;//這里的where id = new.id要手動改一下。改成主鍵的字段名";

//delete觸發(fā)器

$delete_str = "h1{$tab1}表的delete觸發(fā)器/h1";

$delete_str .= "create trigger ".$tab1."_deletebr";

$delete_str .= "after deletebr";

$delete_str .= "on ".$tab1."br";

$delete_str .= "for each row br";

$delete_str .= "delete from ".$tab2." where id=OLD.id//這里的where id =

new.id要手動改一下。改成主鍵的字段名br";

echo $inser_str;

echo $update_str;

echo $delete_str;

echo

'p注意:br1.觸發(fā)器可用于InnoDB或MyISAM類型的表br2.插入的時候用AFTER INSERT

更好的保證數(shù)據(jù)ID的對應(yīng),如果用before

INSERT有可能造成ID不對應(yīng)br3.如new.id則是表示主表中的字段br4.sql語句太多,用

begin..endbr5.使用show triggers語句查看數(shù)據(jù)庫中的觸發(fā)器。br6.刪除觸發(fā)器DROP TRIGGER

IF EXISTS `test`br7.作者:a

href=""華夏之星/a';

echo EOT

h3語法:/h3

create trigger 觸發(fā)器名稱br

{ before | after}br

{insert | update | delete}br

on 表名br

for each rowbr

觸發(fā)器SQL語句br

參數(shù)詳解如下:br

create trigger 觸發(fā)器名稱:創(chuàng)建一個新觸發(fā)器,并指定觸發(fā)器的名稱。br

{ before | after}:用于指定在insert、update或delete語句執(zhí)行前觸發(fā)還是在語句執(zhí)行后觸發(fā)。br

on 表名:用于指定響應(yīng)該觸發(fā)器的表名。br

for each row:觸發(fā)器的執(zhí)行間隔,for each row

通知觸發(fā)器每隔一行執(zhí)行一次動作,而不是對整個表執(zhí)行一次。br

觸發(fā)器SQL語句:觸發(fā)器要執(zhí)行的SQL語句,如果該觸發(fā)器要執(zhí)行多條SQL語句,要將多條語句放在begin…end塊中。

br如:begin…end塊(它不能上phpadmin上運(yùn)行。因?yàn)閜hpmyadmin沒有對begin...end解析。)br

mysql_query("br

create trigger user_deletebr

after deletebr

on userbr

for each row BEGINbr

delete from user_bak where id=OLD.id;br

delete from aaa where id=OLD.id;br

END;");br

brbrbrbr

EOT;

?

學(xué)習(xí)PHP,環(huán)境為PHP5.2 和sqlserver 鏈接數(shù)據(jù)庫正常,其中在查收某段代碼時,和查詢分析器里的結(jié)果不同

同步兩個SQLServer數(shù)據(jù)庫如何同步兩個sqlserver數(shù)據(jù)庫的內(nèi)容?程序代碼可以有版本管理cvs進(jìn)行同步管理,可是數(shù)據(jù)庫同步就非常麻煩,只能自己改了一個后再去改另一個,如果忘記了更改另一個經(jīng)常造成兩個數(shù)據(jù)庫的結(jié)構(gòu)或內(nèi)容上不一致.各位有什么好的方法嗎?一、分發(fā)與復(fù)制用強(qiáng)制訂閱實(shí)現(xiàn)數(shù)據(jù)庫同步操作.大量和批量的數(shù)據(jù)可以用數(shù)據(jù)庫的同步機(jī)制處理://說明:為方便操作,所有操作均在發(fā)布服務(wù)器(分發(fā)服務(wù)器)上操作,并使用推模式在客戶機(jī)器使用強(qiáng)制訂閱方式。二、測試通過1:環(huán)境服務(wù)器環(huán)境:機(jī)器名稱:zehuadb操作系統(tǒng):windows2000server數(shù)據(jù)庫版本:sql2000server個人版客戶端機(jī)器名稱:zlp操作系統(tǒng):windows2000server數(shù)據(jù)庫版本:sql2000server個人版2:建用戶帳號在服務(wù)器端建立域用戶帳號我的電腦管理-本地用戶和組-用戶-建立username:zlpuserpwd:zlp3:重新啟動服務(wù)器mssqlserver我的電腦-控制面版-管理工具-服務(wù)-mssqlserver服務(wù)(更改為:域用戶帳號,我們新建的zlp用戶.\zlp,密碼:zlp)4:安裝分發(fā)服務(wù)器a:配置分發(fā)服務(wù)器工具-復(fù)制-配置發(fā)布、訂閱服務(wù)器和分發(fā)-下一步-下一步(所有的均采用默認(rèn)配置)b:配置發(fā)布服務(wù)器工具-復(fù)制-創(chuàng)建和管理發(fā)布-選擇要發(fā)布的數(shù)據(jù)庫(sz)-下一步-快照發(fā)布-下一步-選擇要發(fā)布的內(nèi)容-下一步-下一步-下一步-完成c:強(qiáng)制配置訂閱服務(wù)器(推模式,拉模式與此雷同)工具-復(fù)制-配置發(fā)布、訂閱服務(wù)器和分發(fā)-訂閱服務(wù)器-新建-sqlserver數(shù)據(jù)庫-輸入客戶端服務(wù)器名稱(zlp)-使用sqlserver身份驗(yàn)證(sa,空密碼)-確定-應(yīng)用-確定d:初始化訂閱復(fù)制監(jiān)視器-發(fā)布服務(wù)器(zehuadb)-雙擊訂閱-強(qiáng)制新建-下一步-選擇啟用的訂閱服務(wù)器-zlp-下一步-下一步-下一步-下一步-完成5:測試配置是否成功復(fù)制監(jiān)視器-發(fā)布衿?zehuadb)-雙擊sz:sz-點(diǎn)狀態(tài)-點(diǎn)立即運(yùn)行代理程序查看:復(fù)制監(jiān)視器-發(fā)布服務(wù)器(zehuadb)-sz:sz-選擇zlp:sz(類型強(qiáng)制)-鼠標(biāo)右鍵-啟動同步處理如果沒有錯誤標(biāo)志(紅色叉),恭喜您配置成功6:測試數(shù)據(jù)在服務(wù)器執(zhí)行:選擇一個表,執(zhí)行如下sql:insertintowq_newsgroup_sselect'測試成功',5復(fù)制監(jiān)視器-發(fā)布服務(wù)器(zehuadb)-sz:sz-快照-啟動代理程序-zlp:sz(強(qiáng)制)-啟動同步處理去查看同步的wq_newsgroup_s是否插入了一條新的記錄測試完畢,通過。7:修改數(shù)據(jù)庫的同步時間,一般選擇夜晚執(zhí)行數(shù)據(jù)庫同步處理(具體操作略):d/*注意說明:服務(wù)器一端不能以(local)進(jìn)行數(shù)據(jù)的發(fā)布與分發(fā),需要先刪除注冊,然后新建注冊本地計(jì)算機(jī)名稱卸載方式:工具-復(fù)制-禁止發(fā)布-是在"zehuadb"上靜止發(fā)布,卸載所有的數(shù)據(jù)庫同步配置服務(wù)器注意:發(fā)布服務(wù)器、分發(fā)服務(wù)器中的sqlserveragent服務(wù)必須啟動采用推模式:"d:\microsoftsqlserver\mssql\repldata\unc"目錄文件可以不設(shè)置共享拉模式:則需要共享~!*/少量數(shù)據(jù)庫同步可以采用觸發(fā)器實(shí)現(xiàn),同步單表即可。三、配置過程中可能出現(xiàn)的問題在sqlserver2000里設(shè)置和使用數(shù)據(jù)庫復(fù)制之前,應(yīng)先檢查相關(guān)的幾臺sqlserver服務(wù)器下面幾點(diǎn)是否滿足:1、mssqlserver和sqlserveragent服務(wù)是否是以域用戶身份啟動并運(yùn)行的(.\administrator用戶也是可以的)如果登錄用的是本地系統(tǒng)帳戶local,將不具備網(wǎng)絡(luò)功能,會產(chǎn)生以下錯誤:進(jìn)程未能連接到distributor'@servername'(如果您的服務(wù)器已經(jīng)用了sqlserver全文檢索服務(wù),請不要修改mssqlserver和sqlserveragent服務(wù)的local啟動。會照成全文檢索服務(wù)不能用。請換另外一臺機(jī)器來做sqlserver2000里復(fù)制中的分發(fā)服務(wù)器。)修改服務(wù)啟動的登錄用戶,需要重新啟動mssqlserver和sqlserveragent服務(wù)才能生效。2、檢查相關(guān)的幾臺sqlserver服務(wù)器是否改過名稱(需要srvid=0的本地機(jī)器上srvname和datasource一樣)在查詢分析器里執(zhí)行:usemasterselectsrvid,srvname,datasourcefromsysservers如果沒有srvid=0或者srvid=0(也就是本機(jī)器)但srvname和datasource不一樣,需要按如下方法修改:usemastergo--設(shè)置兩個變量declare@serverproperty_servernamevarchar(100),@servernamevarchar(100)--取得windowsnt服務(wù)器和與指定的sqlserver實(shí)例關(guān)聯(lián)的實(shí)例信息select@serverproperty_servername=convert(varchar(100),serverproperty('servername'))--返回運(yùn)行microsoftsqlserver的本地服務(wù)器名稱select@servername=convert(varchar(100),@@servername)--顯示獲取的這兩個參數(shù)select@serverproperty_servername,@servername--如果@serverproperty_servername和@servername不同(因?yàn)槟愀倪^計(jì)算機(jī)名字),再運(yùn)行下面的--刪除錯誤的服務(wù)器名execsp_dropserver@server=@servername--添加正確的服務(wù)器名execsp_addserver@server=@serverproperty_servername,@local='local'修改這項(xiàng)參數(shù),需要重新啟動mssqlserver和sqlserveragent服務(wù)才能生效。這樣一來就不會在創(chuàng)建復(fù)制的過程中出現(xiàn)18482、18483錯誤了。3、檢查sqlserver企業(yè)管理器里面相關(guān)的幾臺sqlserver注冊名是否和上面第二點(diǎn)里介紹的srvname一樣不能用ip地址的注冊名。(我們可以刪掉ip地址的注冊,新建以sqlserver管理員級別的用戶注冊的服務(wù)器名)這樣一來就不會在創(chuàng)建復(fù)制的過程中出現(xiàn)14010、20084、18456、18482、18483錯誤了。4、檢查相關(guān)的幾臺sqlserver服務(wù)器網(wǎng)絡(luò)是否能夠正常訪問如果ping主機(jī)ip地址可以,但ping主機(jī)名不通的時候,需要在winnt\system32\drivers\etc\hosts(win2000)windows\system32\drivers\etc\hosts(win2003)文件里寫入數(shù)據(jù)庫服務(wù)器ip地址和主機(jī)名的對應(yīng)關(guān)系。例如:127.0.0.1localhost192.168.0.35oracledboracledb192.168.0.65fengyu02fengyu02202.84.10.193bj_dbbj_db或者在sqlserver客戶端網(wǎng)絡(luò)實(shí)用工具里建立別名,例如:5、系統(tǒng)需要的擴(kuò)展存儲過程是否存在(如果不存在,需要恢復(fù)):sp_addextendedproc'xp_regenumvalues',@dllname='xpstar.dll'gosp_addextendedproc'xp_regdeletevalue',@dllname='xpstar.dll'gosp_addextendedproc'xp_regdeletekey',@dllname='xpstar.dll'gosp_addextendedprocxp_cmdshell,@dllname='xplog70.dll'接下來就可以用sqlserver企業(yè)管理器里[復(fù)制]-右鍵選擇-[配置發(fā)布、訂閱服務(wù)器和分發(fā)]的圖形界面來配置數(shù)據(jù)庫復(fù)制了。下面是按順序列出配置復(fù)制的步驟:1、建立發(fā)布和分發(fā)服務(wù)器[歡迎使用配置發(fā)布和分發(fā)向?qū)-[選擇分發(fā)服務(wù)器]-[使"@servername"成為它自己的分發(fā)服務(wù)器,sqlserver將創(chuàng)建分發(fā)數(shù)據(jù)庫和日志]-[制定快照文件夾]-[自定義配置]-[否,使用下列的默認(rèn)配置]-[完成]上述步驟完成后,會在當(dāng)前"@servername"sqlserver數(shù)據(jù)庫里建立了一個distribion庫和一個distributor_admin管理員級別的用戶(我們可以任意修改密碼)。服務(wù)器上新增加了四個作業(yè):[代理程序歷史記錄清除:distribution][分發(fā)清除:distribution][復(fù)制代理程序檢查][重新初始化存在數(shù)據(jù)驗(yàn)證失敗的訂閱]sqlserver企業(yè)管理器里多了一個復(fù)制監(jiān)視器,當(dāng)前的這臺機(jī)器就可以發(fā)布、分發(fā)、訂閱了。我們再次在sqlserver企業(yè)管理器里[復(fù)制]-右鍵選擇-[配置發(fā)布、訂閱服務(wù)器和分發(fā)]我們可以在[發(fā)布服務(wù)器和分發(fā)服務(wù)器的屬性]窗口-[發(fā)布服務(wù)器]-[新增]-[確定]-[發(fā)布數(shù)據(jù)庫]-[事務(wù)]/[合并]-[確定]-[訂閱服務(wù)器]-[新增]-[確定]把網(wǎng)絡(luò)上的其它sqlserver服務(wù)器添加成為發(fā)布或者訂閱服務(wù)器.新增一臺發(fā)布服務(wù)器的選項(xiàng):我這里新建立的jin001發(fā)布服務(wù)器是用管理員級別的數(shù)據(jù)庫用戶test連接的,到發(fā)布服務(wù)器的管理鏈接要輸入密碼的可選框,默認(rèn)的是選中的,在新建的jin001發(fā)布服務(wù)器上建立和分發(fā)服務(wù)器fengyu/fengyu的鏈接的時需要輸入distributor_admin用戶的密碼。到發(fā)布服務(wù)器的管理鏈接要輸入密碼的可選框,也可以不選,也就是不需要密碼來建立發(fā)布到分發(fā)服務(wù)器的鏈接(這當(dāng)然欠缺安全,在測試環(huán)境下可以使用)。2、新建立的網(wǎng)絡(luò)上另一臺發(fā)布服務(wù)器(例如jin001)選擇分發(fā)服務(wù)器[歡迎使用配置發(fā)布和分發(fā)向?qū)-[選擇分發(fā)服務(wù)器]-使用下列服務(wù)器(選定的服務(wù)器必須已配置為分發(fā)服務(wù)器)-[選定服務(wù)器](例如fengyu/fengyu)-[下一步]-[輸入分發(fā)服務(wù)器(例如fengyu/fengyu)的distributor_admin用戶的密碼兩次]-[下一步]-[自定義配置]-[否,使用下列的默認(rèn)配置]-[下一步]-[完成]-[確定]建立一個數(shù)據(jù)庫復(fù)制發(fā)布的過程:[復(fù)制]-[發(fā)布內(nèi)容]-右鍵選擇-[新建發(fā)布]-[下一步]-[選擇發(fā)布數(shù)據(jù)庫]-[選中一個待發(fā)布的數(shù)據(jù)庫]-[下一步]-[選擇發(fā)布類型]-[事務(wù)發(fā)布]/[合并發(fā)布]-[下一步]-[指定訂閱服務(wù)器的類型]-[運(yùn)行sqlserver2000的服務(wù)器]-[下一步]-[指定項(xiàng)目]-[在事務(wù)發(fā)布中只可以發(fā)布帶主鍵的表]-[選中一個有主鍵的待發(fā)布的表]-[在合并發(fā)布中會給表增加唯一性索引和rowguidcol屬性的唯一標(biāo)識符字段[rowguid],默認(rèn)值是newid()](添加新列將:導(dǎo)致不帶列列表的insert語句失敗,增加表的大小,增加生成第一個快照所要求的時間)-[選中一個待發(fā)布的表]-[下一步]-[選擇發(fā)布名稱和描述]--[下一步]-[自定義發(fā)布的屬性]-[否,根據(jù)指定方式創(chuàng)建發(fā)布]-[下一步]-[完成]-[關(guān)閉]發(fā)布屬性里有很多有用的選項(xiàng):設(shè)定訂閱到期(例如24小時)設(shè)定發(fā)布表的項(xiàng)目屬性:常規(guī)窗口可以指定發(fā)布目的表的名稱,可以跟原來的表名稱不一樣。下圖是命令和快照窗口的欄目(sqlserver數(shù)據(jù)庫復(fù)制技術(shù)實(shí)際上是用insert,update,delete操作在訂閱服務(wù)器上重做發(fā)布服務(wù)器上的事務(wù)操作看文檔資料需要把發(fā)布數(shù)據(jù)庫設(shè)成完全恢復(fù)模式,事務(wù)才不會丟失但我自己在測試中發(fā)現(xiàn)發(fā)布數(shù)據(jù)庫是簡單恢復(fù)模式下,每10秒生成一些大事務(wù),10分鐘后再收縮數(shù)據(jù)庫日志,這期間發(fā)布和訂閱服務(wù)器上的作業(yè)都暫停,暫停恢復(fù)后并沒有丟失任何事務(wù)更改)發(fā)布表可以做數(shù)據(jù)篩選,例如只選擇表里面的部分列:例如只選擇表里某些符合條件的記錄,我們可以手工編寫篩選的sql語句:發(fā)布表的訂閱選項(xiàng),并可以建立強(qiáng)制訂閱:成功建立了發(fā)布以后,發(fā)布服務(wù)器上新增加了一個作業(yè):[失效訂閱清除]分發(fā)服務(wù)器上新增加了兩個作業(yè):[jin001-dack-dack-5]類型[repl快照][jin001-dack-3]類型[repl日志讀取器]上面藍(lán)色字的名稱會根據(jù)發(fā)布服務(wù)器名,發(fā)布名及第幾次發(fā)布而使用不同的編號repl快照作業(yè)是sqlserver復(fù)制的前提條件,它會先把發(fā)布的表結(jié)構(gòu),數(shù)據(jù),索引,約束等生成到發(fā)布服務(wù)器的os目錄下文件(當(dāng)有訂閱的時候才會生成,當(dāng)訂閱請求初始化或者按照某個時間表調(diào)度生成)repl日志讀取器在事務(wù)復(fù)制的時候是一直處于運(yùn)行狀態(tài)。(在合并復(fù)制的時候可以根據(jù)調(diào)度的時間表來運(yùn)行)建立一個數(shù)據(jù)庫復(fù)制訂閱的過程:[復(fù)制]-[訂閱]-右鍵選擇-[新建請求訂閱]-[下一步]-[查找發(fā)布]-[查看已注冊服務(wù)器所做的發(fā)布]-[下一步]-[選擇發(fā)布]-[選中已經(jīng)建立發(fā)布服務(wù)器上的數(shù)據(jù)庫發(fā)布名]-[下一步]-[指定同步代理程序登錄]-[當(dāng)代理程序連接到代理服務(wù)器時:使用sqlserver身份驗(yàn)證](輸入發(fā)布服務(wù)器上distributor_admin用戶名和密碼)-[下一步]-[選擇目的數(shù)據(jù)庫]-[選擇在其中創(chuàng)建訂閱的數(shù)據(jù)庫名]/[也可以新建一個庫名]-[下一步]-[允許匿名訂閱]-[是,生成匿名訂閱]-[下一步]-[初始化訂閱]-[是,初始化架構(gòu)和數(shù)據(jù)]-[下一步]-[快照傳送]-[使用該發(fā)布的默認(rèn)快照文件夾中的快照文件](訂閱服務(wù)器要能訪問發(fā)布服務(wù)器的repldata文件夾,如果有問題,可以手工設(shè)置網(wǎng)絡(luò)共享及共享權(quán)限)-[下一步]-[快照傳送]-[使用該發(fā)布的默認(rèn)快照文件夾中的快照文件]-[下一步]-[設(shè)置分發(fā)代理程序調(diào)度]-[使用下列調(diào)度]-[更改]-[例如每五分鐘調(diào)度一次]-[下一步]-[啟動要求的服務(wù)]-[該訂閱要求在發(fā)布服務(wù)器上運(yùn)行sqlserveragent服務(wù)]-[下一步]-[完成]-[確定]成功建立了訂閱后,訂閱服務(wù)器上新增加了一個類別是[repl-分發(fā)]作業(yè)(合并復(fù)制的時候類別是[repl-合并])它會按照我們給的時間調(diào)度表運(yùn)行數(shù)據(jù)庫同步復(fù)制的作業(yè)。3、sqlserver復(fù)制配置好后,可能出現(xiàn)異常情況的實(shí)驗(yàn)日志:1.發(fā)布服務(wù)器斷網(wǎng),sqlserver服務(wù)關(guān)閉,重啟動,關(guān)機(jī)的時候,對已經(jīng)設(shè)置好的復(fù)制沒有多大影響中斷期間,分發(fā)和訂閱都接收到?jīng)]有復(fù)制的事務(wù)信息2.分發(fā)服務(wù)器斷網(wǎng),sqlserver服務(wù)關(guān)閉,重啟動,關(guān)機(jī)的時候,對已經(jīng)設(shè)置好的復(fù)制有一些影響中斷期間,發(fā)布服務(wù)器的事務(wù)排隊(duì)堆積起來(如果設(shè)置了較長時間才刪除過期訂閱的選項(xiàng),繁忙發(fā)布數(shù)據(jù)庫的事務(wù)日志可能會較快速膨脹),訂閱服務(wù)器會因?yàn)樵L問不到發(fā)布服務(wù)器,反復(fù)重試我們可以設(shè)置重試次數(shù)和重試的時間間隔(最大的重試次數(shù)是9999,如果每分鐘重試一次,可以支持約6.9天不出錯)分發(fā)服務(wù)器sqlserver服務(wù)啟動,網(wǎng)絡(luò)接通以后,發(fā)布服務(wù)器上的堆積作業(yè)將按時間順序作用到訂閱機(jī)器上:會需要一個比較長的時間(實(shí)際上是生成所有事務(wù)的insert,update,delete語句,在訂閱服務(wù)器上去執(zhí)行)我們在普通的pc機(jī)上實(shí)驗(yàn)的58個事務(wù)100228個命令執(zhí)行花了7分28秒.3.訂閱服務(wù)器斷網(wǎng),sqlserver服務(wù)關(guān)閉,重啟動,關(guān)機(jī)的時候,對已經(jīng)設(shè)置好的復(fù)制影響比較大,可能需要重新初試化我們實(shí)驗(yàn)環(huán)境(訂閱服務(wù)器)從18:46分意外停機(jī)以,第二天8:40分重啟動后,已經(jīng)設(shè)好的復(fù)制在8:40分以后又開始正常運(yùn)行了,發(fā)布服務(wù)器上的堆積作業(yè)將按時間順序作用到訂閱機(jī)器上,但復(fù)制管理器里出現(xiàn)快照的錯誤提示,快照可能需要重新初試化,復(fù)制可能需要重新啟動.(我們實(shí)驗(yàn)環(huán)境的機(jī)器并沒有進(jìn)行快照初試化,復(fù)制仍然是成功運(yùn)行的)4、刪除已經(jīng)建好的發(fā)布和定閱可以直接用delete刪除按鈕我們最好總是按先刪定閱,再刪發(fā)布,最后禁用發(fā)布的順序來操作。如果要徹底刪去sqlserver上面的復(fù)制設(shè)置,可以這樣操作:[復(fù)制]-右鍵選擇[禁用發(fā)布]-[歡迎使用禁用發(fā)布和分發(fā)向?qū)-[下一步]-[禁用發(fā)布]-[要在"@servername"上禁用發(fā)布]-[下一步]-[完成禁用發(fā)布和分發(fā)向?qū)-[完成]我們也可以用t-sql命令來完成復(fù)制中發(fā)布及訂閱的創(chuàng)建和刪除,選中已經(jīng)設(shè)好的發(fā)布和訂閱,按屬標(biāo)右鍵可以[生成sql腳本]。(這里就不詳細(xì)講了,后面推薦的網(wǎng)站內(nèi)有比較詳細(xì)的內(nèi)容)當(dāng)你試圖刪除或者變更一個table時,出現(xiàn)以下錯誤server:msg3724,level16,state2,line1cannotdropthetable'object_name'becauseitisbeingusedforreplication.比較典型的情況是該table曾經(jīng)用于復(fù)制,但是后來又刪除了復(fù)制。處理法:select*fromsysobjectswherereplinfo'0'sp_configure'allowupdates',1goreconfigurewithoverridegobegintransactionupdatesysobjectssetreplinfo='0'wherereplinfo'0'committransactiongorollbacktransactiongosp_configure'allowupdates',0goreconfigurewithoverridego

后綴“.php”是什么

PHP文件的擴(kuò)展名

PHP 是一種易于學(xué)習(xí)和使用的服務(wù)器端腳本語言。只需要很少的編程知識你就能使用PHP 建立一個真正交互的WEB 站點(diǎn)。本教程并不想讓你完全了解這種語言,只是能使你盡快加入開發(fā)動態(tài)web站點(diǎn)的行列。我假定你有一些HTML(或者HTML編輯器)的基本知識和一些編程思想。

簡介

PHP 是能讓你生成動態(tài)網(wǎng)頁的工具之一。PHP 代表:超文本預(yù)處理器(PHP:Hypertext Preprocessor)。PHP 是完全免費(fèi)的,不用花錢,你可以從PHP 官方站點(diǎn)()自由下載。PHP 遵守GNU 公共許可(GPL),在這一許可下誕生了許多流行的軟件諸如Linux和Emacs。你可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。PHP 在大多數(shù)Unix 平臺,GUN/Linux和微軟Windows平臺上均可以運(yùn)行。怎樣在Windows環(huán)境的PC 機(jī)器或Unix機(jī)器上安裝PHP 的資料可以在PHP 官方站點(diǎn)上找到,也可以查閱網(wǎng)頁陶吧的“PHP 安裝全攻備”專題文章。安裝過程很簡單。

如果你的機(jī)器解決了2000問題,那么PHP 也一樣沒有千年蟲問題!

歷史

三年前,Rasmus Lerdorf為了創(chuàng)建他的在線簡歷而創(chuàng)造了"個人主頁工具"(Personal Home Page Tools)。這是一種非常簡單的語言。其后越來越多的人們注意到了這種語言并對其擴(kuò)展提出了各種建議。在許多人的無私奉獻(xiàn)下以及這種語言本身的源代碼自由性質(zhì),它演變成為一種特點(diǎn)豐富的語言,而且現(xiàn)在還在成長中。

PHP 雖然很容易學(xué)習(xí),但是速度上比mod_perl(植入web服務(wù)器的perl模塊)慢。現(xiàn)在有了可以與mod_perl 速度想媲美的被稱作Zend 的新引擎,而PHP4 就可以充分利用這個引擎。現(xiàn)在,PHP4 正式版已經(jīng)發(fā)布,大家可以到php 的官方站點(diǎn)上去下載。Andy Gutmans 和Zeev Suraki 是Zend 的主要作者。可以去Zend 站點(diǎn)()了解更多。

PHP 的應(yīng)用在個人性質(zhì)的web工程中增長顯著。根據(jù)Netcraft在1999 年10月的報(bào)告,有931122個域和321128 個IP 地址利用PHP 技術(shù)。

PHP 的先進(jìn)之處

應(yīng)用PHP 有許多好處。當(dāng)然已知的不利之處在于PHP 由于是開放源碼項(xiàng)目,沒有什么商業(yè)支持,并且由此而帶來的執(zhí)行速度緩慢(直到PHP4 之前)。但是PHP 的郵件列表很是有用而且除非你正在運(yùn)行像Yahoo!或者Amazon.com 這樣的極受歡迎的站點(diǎn),你不會感覺出PHP 的速度與其他的有什么不同。最起碼我就沒有感覺出來!好了,讓我們來看看PHP 有那些優(yōu)點(diǎn):

學(xué)習(xí)過程

我個人更喜歡PHP 的非常簡單的學(xué)習(xí)過程。與Java和Perl 不同,你不必把頭埋進(jìn)100 多頁的文檔中努力學(xué)習(xí)才可以寫出一個象樣的程序。只要了解一些基本的語法和語言特色,你就可以開始你的PHP 編碼之旅了。之后你在編碼過程中如果遇到了什么麻煩,還可以再去翻閱相關(guān)文檔。

PHP 的語法類似于C,Perl,ASP 或者JSP。對于那些對上述之一的語言較熟悉的人來說,PHP 太簡單了。相反的,如果你對PHP 了解較多,那么你對于其他幾種語言的學(xué)習(xí)都很簡單了。

你只需要30分鐘就可以將PHP 的核心語言特點(diǎn)全部掌握,你可能已經(jīng)非常了解HTML,甚至你已經(jīng)知道怎樣用編輯設(shè)計(jì)軟件或者手工來制作好看的WEB 站點(diǎn)。由于PHP 代碼能夠無障礙的添加進(jìn)你的站點(diǎn),在你設(shè)計(jì)和維護(hù)站點(diǎn)的同時,你可以很輕松的加入PHP 使得你的站點(diǎn)更加具有動態(tài)特性。

數(shù)據(jù)庫連接

PHP 可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP 與MySQL是現(xiàn)在絕佳的組合。你還可以自己編寫外圍的函數(shù)取間接存取數(shù)據(jù)庫。通過這樣的途徑當(dāng)你更換使用的數(shù)據(jù)庫時,可以輕松的更改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。

可擴(kuò)展性

就像前面說的那樣,PHP 已經(jīng)進(jìn)入了一個高速發(fā)展的時期。對于一個非程序員來說為PHP 擴(kuò)展附加功能可能會比較難,但是對于一個PHP 程序員來說并不困難。

面向?qū)ο缶幊?/p>

PHP 提供了類和對象。基于web的編程工作非常需要面向?qū)ο缶幊棠芰ΑHP支持構(gòu)造器、提取類等。

可伸縮性

傳統(tǒng)上網(wǎng)頁的交互作用是通過CGI來實(shí)現(xiàn)的。CGI程序的伸縮性不很理想,因?yàn)樗鼮槊恳粋€正在運(yùn)行的CGI程序開一個獨(dú)立進(jìn)程。解決方法就是將經(jīng)常用來編寫CGI程序的語言的解釋器編譯進(jìn)你的web服務(wù)器(比如mod_perl,JSP)。PHP 就可以以這種方式安裝,雖然很少有人愿意這樣以CGI方式安裝它。內(nèi)嵌的PHP 可以具有更高的可伸縮性。

更多特點(diǎn)

PHP 的開發(fā)者們?yōu)榱烁m合web編程,開發(fā)了許多外圍的流行基庫,這些庫包含了更易用的層。你可以利用PHP 連接包括Oracle,MS-Access,Mysql在內(nèi)的大部分?jǐn)?shù)據(jù)庫。你可以在蒼蠅上畫圖,編寫程序下載或者顯示e-mail。你甚至可以完成網(wǎng)絡(luò)相關(guān)的功能。最好的是,你可以選擇你的PHP 安裝版本需要哪些功能。引用Nissan 的Xterra 的話來說就是PHP 可以做到你想讓它做到的一切而且無所不能!

MySQL簡介

MySQL是一個廣受Linux社區(qū)人們喜愛的半商業(yè)的數(shù)據(jù)庫。 MySQL是可運(yùn)行在大多數(shù)的Linux平臺(i386,Sparc,etc),以及少許非Linux甚至非Unix平臺。

許可費(fèi)用

MySQL的普及很大程度上源于它的寬松,除了略顯不尋常的許可費(fèi)用。MySQL的價(jià)格隨平臺和安裝方式變化。MySQL的Windows版本(NT和9X)在任何情況下都不免費(fèi),而任何Unix變種(包括Linux)的MySQL如果由用戶自己或系統(tǒng)管理員而不是第三方安裝則是免費(fèi)的,第三方案莊則必須付許可費(fèi)。

價(jià)格

平臺安裝方式價(jià)格

Windows NT,9X 任何200美元

Unix或Linux 自行安裝免費(fèi)

Unix或Linux 第三方安裝200美元

需要一個應(yīng)用組件200美元

可以得到多種支持合同,內(nèi)容太多不再羅列,最新報(bào)價(jià)可咨詢MySQL站點(diǎn)。

3、安裝

可以在MySQL站點(diǎn)上獲得大多數(shù)主要的軟件包格式(RPM、DBE、TGZ),客戶端庫和各種語言“包裝”(Wrapper)可以分開的RPM格式獲得。RPM格式的安裝沒有多大麻煩,并且無需初始配置。在rc3.d(以RedHat RPM為例)生成一個初始腳本,故MySQL守護(hù)進(jìn)程在多用戶模式下重啟時被啟動運(yùn)行。MySQL的守護(hù)進(jìn)程(mysqld)消耗很少的內(nèi)存(在運(yùn)行RedHat 5.1的奔騰133上,每個守護(hù)進(jìn)程使用500K內(nèi)存和另外4M共享內(nèi)存的開銷)并在只有在執(zhí)行真正的查詢時才裝載到處理器上,這意味著對小型數(shù)據(jù)庫來說,MySQL可以相當(dāng)輕松地使用而不會對其他系統(tǒng)功能有太大的影響。

數(shù)據(jù)類型

字段支持大量數(shù)據(jù)類型是件好事。通常的整數(shù)、浮點(diǎn)數(shù)、字符串和數(shù)字均以多種長度表示,并支持變長的BLOB(Binary Large OBject)類型。對整數(shù)字段由自動增量選項(xiàng),日期時間字段也能很好的表示。

MySQL與大多數(shù)其他數(shù)據(jù)庫系統(tǒng)不同的是提供兩個相對不常用的字段類型:ENUM和SET。ENUM是一個枚舉類型,非常類適于Pascal語言的枚舉類型,它允許程序員看到類似于'red、'green'、'blue'的字段值,而MySQL只將這些值存儲為一個字節(jié)。SET也是從Pascal借用的,它也是一個枚舉類型,但一個單獨(dú)字段一次可存儲多個值,這種存儲多個枚舉值的能力也許不會給你一些印象(并可能威脅第三范式定義),但正確使用SET和CONTAINS關(guān)鍵字可以省去很多表連接,能獲得很好的性能提高。

5、SQL兼容性

MySQL包含一些與SQL標(biāo)準(zhǔn)不同的轉(zhuǎn)變,他們的大多數(shù)被設(shè)計(jì)成是對SQL語言腳本語言的不足的一種補(bǔ)償。然而,另一些擴(kuò)展確實(shí)使 MySQL與眾不同,例如,LINK子句搜索是自動地忽略大小寫的。MySQL 也允許用戶自定義的SQL函數(shù),換句話說,一個程序員可以編寫一個函數(shù)然后集成到MySQL中,并且其表現(xiàn)的與任何基本函數(shù)如SUM()或AVG ()沒有什么不同。函數(shù)必須被編譯道一個共享庫文件中(.so文件),然后用一個LOAD FUNCTION命令裝載。

它也缺乏一些常用的SQL功能,沒有子選擇(在查詢中的查詢)。視圖(View)也沒了。當(dāng)然大多數(shù)子查詢可以用簡單的連接(join)子句重寫,但有時用兩個嵌套的查詢思考問題比一個大連接容易。同樣,視圖僅僅為程序員隱蔽where子句,但這正是程序員們期望的另一種便利。

存儲過程和觸發(fā)器

MySQL沒有一種存儲過程(Stored Procedure)語言,這是對習(xí)慣于企業(yè)級數(shù)據(jù)庫的程序員的最大限制。多語句SQL命令必須通過客戶方代碼來協(xié)調(diào),這種情形是借助于相當(dāng)健全的查詢語言和賦予客戶端鎖定和解鎖表的能力,這樣才允許的多語句運(yùn)行。

7、參考完整性(Referential Integrity-RI)

MySQL的主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI機(jī)制;然而,MySQL的創(chuàng)造者也不是對其用戶的愿望置若罔聞,并且提供了一些解決辦法。其中之一是支持唯一索引。Rule限制的缺乏(在給釘字段域上的一種固定的范圍限制)通過大量的數(shù)據(jù)類型來補(bǔ)償。不簡單地提供檢查約束(一個字段相對于同一行的另一個字段的之值的限制)、外部關(guān)鍵字和經(jīng)常與RI相關(guān)的“級聯(lián)刪除”功能。有趣的是,當(dāng)不支持這些功能時,SQL分析器容忍這些語句的句法。這樣做目的是易于移植數(shù)據(jù)庫到MySQL中。這是一個很好的嘗試,并且它確實(shí)未來支持該功能留下方便之門;然而,那些沒有仔細(xì)閱讀文檔的的人可能誤以為這些功能實(shí)際上是存在的。

7、安全性

自始至終我對MySQL最大的抱怨是其安全系統(tǒng),它唯一的缺點(diǎn)是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用mysqladmin來重讀用戶權(quán)限時才發(fā)生改變。通常的SQL GRANT/REVOKE 語句到最近的版本才被支持,但是至少他們現(xiàn)在有了。 MySQL的編寫者廣泛地記載了其特定的安全性系統(tǒng),但是它確實(shí)需要一條可能是別無它法的學(xué)習(xí)過程。

apache+php+mysql是最好的搭配,也是搭配企業(yè)網(wǎng)絡(luò)的最好的搭配、

如果學(xué)php,那么你可以在網(wǎng)絡(luò)中找尋到很多的教程的,其實(shí)學(xué)任何的程序最好的就是寫,不停的寫不停的看。

作網(wǎng)站當(dāng)然最好的是dreamweaver,它可以寫很多的代碼的,也可以設(shè)計(jì)!

分享標(biāo)題:php數(shù)據(jù)庫觸發(fā)器 數(shù)據(jù)庫如何觸發(fā)觸發(fā)器
瀏覽地址:http://chinadenli.net/article36/hpjpsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司網(wǎng)站維護(hù)網(wǎng)頁設(shè)計(jì)公司移動網(wǎng)站建設(shè)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)