好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法分析

mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法分析

熱門標(biāo)簽:如何在高德地圖標(biāo)注新地址 高德地圖標(biāo)注中心個(gè)人注冊(cè) 400電話辦理都選易號(hào)網(wǎng) 電銷機(jī)器人針對(duì)的 寶應(yīng)電信400電話辦理費(fèi)用 外呼系統(tǒng)服務(wù) 高德地圖標(biāo)注模式 湘潭電銷機(jī)器人咨詢電話 外呼系統(tǒng)防封號(hào)違法嗎

本文實(shí)例講述了mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法。分享給大家供大家參考,具體如下:

需求:

往某數(shù)據(jù)庫(kù)的某個(gè)表中新增一個(gè)字段(若該字段已存在,則不做操作;若該字段不存在,則新增)

百度了n久,沒有符合要求的例子,只有參考加自己琢磨,最終終于給弄出來(lái)了,以下是幾個(gè)版本的更迭

第一版:

DELIMITER $$
CREATE PROCEDURE insert_column()
BEGIN
IF NOT EXISTS(SELECT 1 FROM information_schema.columns
WHERE table_schema='ltivalley' AND table_name='t_luck'
AND column_name='sss' ) THEN
alter table ltivalley.t_luck add sss varchar(255) not Null;
end if;
END
$$
DELIMITER ;

此存儲(chǔ)過程可以做到往ltivalley數(shù)據(jù)庫(kù)的t_luck表中新增一個(gè)sss的字段,但寫死了,毫無(wú)靈活性,故沒用!

第二版:

DELIMITER $$
CREATE PROCEDURE insert_column(in dbname varchar(255),in tbname varchar(255),in colname varchar(255))
set @sql_1= concat("IF NOT EXISTS(SELECT 1 FROM
information_schema.columns WHERE table_schema=",dbname,"
AND table_name=",tbname," AND column_name=",colname,")
THEN
alter table ",dbname,".",tbname," add ",colname,"
varchar(255) not null;
end if;");
PREPARE stmt FROM @sql_1;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
$$
DELIMITER ;

創(chuàng)建存儲(chǔ)過程沒有問題,但當(dāng)調(diào)用的時(shí)候就會(huì)出錯(cuò),報(bào) "IF"左右出錯(cuò),原因是在mysql中IF只能存在于存儲(chǔ)過程中,此處用EXECUTE stmt來(lái)執(zhí)行,等于是不在存儲(chǔ)過程里面執(zhí)行if語(yǔ)句,所以報(bào)錯(cuò),執(zhí)行不了!故沒用!

第三版

DELIMITER $$
CREATE PROCEDURE insert_column(in dbname varchar(255),in tbname varchar(255),in colname varchar(255))
BEGIN
SET @selec=CONCAT('SELECT 1 FROM information_schema.columns WHERE table_schema="',dbname,'" AND table_name="',tbname,'" AND column_name="',colname,'"');
PREPARE selec FROM @selec;
SET @addcol=CONCAT('ALTER TABLE ',dbname,'.',tbname,' ADD ',colname,' VARCHAR(255)');
PREPARE addcol FROM @addcol;
IF NOT EXISTS(EXECUTE selec;)THEN
EXECUTE addcol;
END IF;
END
$$
DELIMITER ;

無(wú)法創(chuàng)建存儲(chǔ)過程,原因是在IF NOT EXISTS()中,不能執(zhí)行EXECUTE selec語(yǔ)句,原因未知。故沒用!

終極版

DROP PROCEDURE IF EXISTS insert_column;
DELIMITER $$
CREATE PROCEDURE insert_column(in dbname varchar(255),in tbname varchar(255),in colname varchar(255))
BEGIN
set @iscolexists = 0;
SET @selec=CONCAT('SELECT count(*) into @iscolexists FROM information_schema.columns WHERE table_schema="',dbname,'" AND table_name="',tbname,'" AND column_name="',colname,'"');
PREPARE selec FROM @selec;
EXECUTE selec;
DEALLOCATE PREPARE selec;
SET @addcol=CONCAT('ALTER TABLE ',dbname,'.',tbname,' ADD ',colname,' VARCHAR(255)');
PREPARE addcol FROM @addcol;
IF(@iscolexists=0)THEN
EXECUTE addcol;
END IF;
END
$$
DELIMITER ;

最終的結(jié)果,先執(zhí)行EXECUTE selec,將結(jié)果存放到一個(gè)變量@iscolexists中,然后再在IF()中判斷@iscolexists的值,做相應(yīng)操作??捎茫?/p>

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL存儲(chǔ)過程技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:
  • Mysql中批量替換某個(gè)字段的部分?jǐn)?shù)據(jù)(推薦)
  • mysql 替換字段部分內(nèi)容及mysql 替換函數(shù)replace()
  • mysql查詢字段類型為json時(shí)的兩種查詢方式
  • MySQL group by對(duì)單字分組序和多字段分組的方法講解
  • MySQL中可為空的字段設(shè)置為NULL還是NOT NULL
  • MySQL中字段類型char、varchar和text的區(qū)別
  • MySQL根據(jù)某一個(gè)或者多個(gè)字段查找重復(fù)數(shù)據(jù)的sql語(yǔ)句
  • 簡(jiǎn)單了解mysql存儲(chǔ)字段類型查詢效率

標(biāo)簽:蘭州 黃山 馬鞍山 黔南 賀州 南充 佛山 宿遷

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法分析》,本文關(guān)鍵詞  mysql,創(chuàng)建,存儲(chǔ),過程,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn)往數(shù)據(jù)表中新增字段的方法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产毛片AAAAAAA做受| 欧美精品国产一区二区三区| 英国一级片| 天天碰天天摸天天爽| 波多野结衣国产一区二区三区91| 向玛丽致敬| 麻麻的屁股夹得我好爽| h亚洲| 久久久精品国产一区二区电影四季| 91在线无码精品秘?色| 男人j桶进女人p无遮挡全程| 欧美成年性色mmm| 久久精品国产亚洲AV无宋雨琦| 欧美一级久久| 女教师日记2爆露的姓| 艳母动漫在线观看免费| 九九久久精品无码专区免费| 国产午夜爽爽爽视频免费影院| 精品国产免费福利片| 碟中谍7免费完整版在线观看高清| 91av最新地址| 女被强伦姧bd高清电影| 天堂A∨在线Av无码Av| 女人午夜色又刺激黄的视频免费 | 特黄特黄aaaa级毛片免费看| 亚洲欧洲日韩| 日本护士xxxx88| 国产AV精品一区二区| 免费无码国产在线看瑜茄| 国产午夜毛片| 男人喜欢亲你私下代表什么呢| 国产福利社| jijzzizz少妇出水喷水| 国产男男Gay做受XXX网站| 中国精品久久| 一本色道久久综合亚洲AV蜜桃| 特级做a爰片毛片A片免费公交车| 国产精品喷潮抽搐无码| 免费又黄又刺激好看的小说| 插死他电影网| 欧美成人xx禁片在线观看|