mysql sp_add_Index 先判斷有沒有索引 沒有就新增
DELIMITER $$
CREATE PROCEDURE `sp_add_Index`(
IN p_tablename VARCHAR (100),
IN p_indexType VARCHAR(100),
IN p_indexcolumnList VARCHAR (200),
IN p_idxname VARCHAR(70)
)
BEGIN
-- CALL `sp_add_Index`('sys_resource','unique','code','');
-- CALL `sp_add_Index`('sys_resource','index','parent_code','');
DECLARE p_dbname VARCHAR(50);
SET @p_dbname = DATABASE();
SET @p_idxname = p_idxname; -- 索引名不能超過64位元組
CASE p_indexType
WHEN 'primary' THEN
SET @p_idxname = 'primary';
SET @add_index = CONCAT('ALTER TABLE ', p_tablename, ' ADD ', 'primary key(', p_indexcolumnList ,');');
WHEN 'unique' THEN
IF LENGTH(@p_idxname) = 0 THEN
SET @p_idxname = CONCAT('uni_idx_',p_tablename,'_',REPLACE(p_indexcolumnList,',','_'));
END IF;
SET @add_index = CONCAT('ALTER TABLE ', p_tablename, ' ADD ', p_indexType,' ',@p_idxname ,'(', p_indexcolumnList ,');');
ELSE
IF LENGTH(@p_idxname) = 0 THEN
SET @p_idxname = CONCAT('idx_',p_tablename,'_',REPLACE(p_indexcolumnList,',','_'));
END IF;
SET @add_index = CONCAT('ALTER TABLE ', p_tablename, ' ADD ', p_indexType,' ',@p_idxname ,'(', p_indexcolumnList ,');');
END CASE;
SELECT
COUNT(*) INTO @cnt
FROM
information_schema.statistics
WHERE
TABLE_SCHEMA = @p_dbname
AND table_name = p_tablename
AND index_name = @p_idxname;
IF @cnt = 0 THEN
PREPARE stmt FROM @add_index; EXECUTE stmt;
END IF;
END$$
DELIMITER ;
相關推薦
mysql sp_add_Index 先判斷有沒有索引 沒有就新增
DELIMITER $$ CREATE PROCEDURE `sp_add_Index`( IN p_tablename VARCHAR (100), IN p_indexType VARCHAR(100), IN p_indexcolumnLi
jQuery如何判斷是否擁有某屬性以及新增移除(先判斷有沒有)某屬性
如果id為name的元素沒有readonly屬性他就會返回undefined,有就直接返回屬性值可以藉此來判斷 $("#name").attr("readonly")==undefined if($("#name").attr("readonly")==undefined){ //doSome
android 判斷 有沒有網路 ,簡單實現
對應一個按鈕 ,點 public class WlActivity extends AppCompatActivity { Button btn; @Override protected void onCreate(Bundle savedInstanceState) {
JavaScript判斷有沒有
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:/
專案實戰:二、判斷有沒有網
public static Network getResault(FragmentActivity activity) { //定義一個布林型別變數,用來返回到底有沒有網路的結果 Boolean resault = false; //獲取網路連線管理物件 Co
判斷有沒有關注公眾號
微擎沒有關注公眾號獲取頭像暱稱資訊 if ($_W['fans']['follow'] == 0){//不用關注 借用獲取暱稱和頭像if ($_W['account']['lev
在SqlServer裡面沒有索引的情況下 where子句的條件順序對查詢效率有影響嗎?
在沒有建立索引的情況下 在不建立索引的情況下,where子句的條件順序,對查詢結果優化作用不明顯 那麼,就只能通過索引的辦法了 SQLServer查詢分析器不會自動優化嗎? 應該跟VS的編譯器一樣,
MySQL修改最大連接數,沒有my.ini文件,只有my-default,這怎麽改呀?
con www and remove ota sql_mode option sub chan # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/e
mysql查一張表有哪些索引
col part ble tab comm 索引 pack comment key 可以用這個命令: show index from table_name; 得到輸出: +------------------+------------+------------+----
display為inline-block的元素有內容和沒有內容情況下高度不一致的問題
是我 img 技術分享 ima class 一個 ott ack com 這兩天發現一個問題,就是display為inline-block的元素有內容和沒有內容情況下高度不一致,雖然不會出現元素中沒內容的情況,但是我還是決定必須解決這個問題,可能我有一些輕微的強迫癥。
Python中有self和沒有self的問題
今天在練習敲程式碼的時候遇到一個問題就是關於self!!! 教材中定義方法時沒有加self,而我自己按照平時的套路敲的時候仍然敲了self,後面再照著教材中去呼叫該方法時報錯,如下: LoginPage().test_user_login(driver,username,password
為什麼你建立的資料庫索引沒有生效?
幾乎所有的小夥伴都可以隨口說幾句關於建立索引的優缺點,也知道什麼時候建立索引能夠提高我們的查詢效能,什麼時候索引會更新,但是你有沒有注意到,即使你設定了索引,有些時候索引他是不會生效的!這不僅考察了大家對索引的瞭解程度,還要讓大家在使用的時候能夠正確的使用。以下介紹了一些可能會造成索引失效的特殊情況,希望大家
SQL實現沒有這條資料就新增,有這條資料就修改
方法一:insert into on duplicate key update 舉個例子,欄位a被定義為UNIQUE,並且原資料庫表table中已存在記錄(2,2,9)和(3,2,1),如果插入記錄的a值與原有記錄重複,則更新原有記錄,否則插入新行: INSERT INTO
啟動 MySQL:服務無法啟動,服務沒有報告任何錯誤 - 已解決
下載mysql 8.0.13的壓縮包進行安裝時候報錯,錯誤如下: 報錯 解決辦法 在根目錄放置一個my.ini檔案(my開頭的ini檔案),檔案內容為配置資訊,配置內容如下: [mysql] # 設定mysql客戶端預設字符集 default-character-
mysql中or和in的效率問題 (有無索引差別很大o(n)/log(n))
mysql中or和in的效率問題 在網上一直看到的是or和in的效率沒啥區別,一直也感覺是這樣,前幾天剛好在看《mysql資料庫開發的36條軍規》的文章,裡面提到了or和in的效率問題,文中提到or的效率為O(n),而in的效率
結構體沒有過載==,不能判斷相等!!沒有過載=,可以賦值
struct stStudent { int num; wstring name; wstring level; bool isTwo; };自定義的結構體,沒有過載operator==,是不能進行等於判斷的。沒有過載operator=,可以進行賦值操作 stStud
DedeCms織夢縮圖有則顯示,沒有則顯示自定義的隨機圖片
百度霸屏推廣在對企業站進行改版時,發現大部分企業網站的文章當初新增時沒有圖片,改版後的文章列表頁面呼叫了縮圖,織夢預設的話是沒有縮圖就顯示自定義的那張defaultpic.gif,這樣的話列表頁的縮圖就
發現mysql一個表可以有幾個唯一索引
mysql一個表可以有多個唯一索引。如果能確定某個資料列將只包含彼此各不相同的值,在為這個資料列建立索引的時候就應該用關鍵字UNIQUE把它定義為一個唯一索引。這麼做的好處:一是簡化了MySQL對這個索引的管理工作,這個索引也因此而變得更有效率。二是MySQL會在有新記錄插入
MySql 5.7.20安裝和服務沒有報告任何錯誤的解決方法
1. 下載Mysql官方:http://www.mysql.com→downloads→選社群版本MySQL Community Edition(GPL)→點選Community(GPL)Down
使用springmvc 接收上傳圖片,在 手機 ios 上,有圖片上傳就不報錯, 沒有就報下面這個錯誤,然後在pc端跟安卓手機上就不會有這個錯誤,這是為什麼呢?
七月 18, 2018 4:04:22 下午 org.apache.catalina.core.StandardWrapperValve invoke 嚴重: Servlet.service() for servlet [springMVC] in context with