0
使用下面的命令,我能夠得到create index
命令綜合指數,創建一個使用CONCAT在MySQL
SELECT CONCAT ('
create index ',index_name,' on ',table_schema,'.',table_name,' (',COLUMN_NAME,');'
) FROM
inf_schema.STATS WHERE
table_schema='employee' AND
table_name='FILESPROC' AND
index_name NOT LIKE 'PRIMARY' ;
我得到以下輸出:
create index FILENAMEPROCID on employee.FILESPROCESSED (PROCID);
create index FILENAMEPROCID on employee.FILESPROCESSED (FILENAME);
create index NENDDATEDataName on employee.FILESPROCESSED (DSN);
create index NENDDATEDataName on employee.FILESPROCESSED (ENDDATE);
create index NENDDATEDataName on employee.FILESPROCESSED (DataName);
create index DSN on employee.FILESPROCESSED (DSN);
create index ENDDATE on employee.FILESPROCESSED (ENDDATE);
不過,我需要輸出以下列方式:
create index FILENAMEPROCID on employee.FILESPROCESSED (PROCID, FILENAME);
create index NENDDATEDataName on employee.FILESPROCESSED (DSN, ENDDATE, DataName);
create index DSN on employee.FILESPROCESSED (DSN);
create index ENDDATE on employee.FILESPROCESSED (ENDDATE);
這樣我就可以創建組合索引。我如何實現這一目標?
這將所有列名組成一個'create index'命令。我需要的是,爲相同的索引名稱分組'create index',如果索引名稱不同,則爲每個索引名稱分別創建索引 – debal
確定在查詢的末尾添加一個組解決了問題。謝謝你.. :) – debal
是的。我錯過了那部分。包含並更正了小錯誤。 –