代码实例
SELECT table_schema ,table_name ,( CASE WHEN ORDINAL_POSITION = mincol AND ORDINAL_POSITION < maxcol THEN CONCAT ( "create table if not exists" ,table_schema ,"." ,table_name ,"(`" ,column_name ,"` " ,COLUMN_TYPE ,"," ) WHEN ORDINAL_POSITION = mincol AND ORDINAL_POSITION = maxcol THEN CONCAT ( "create table if not exists" ,table_schema ,"." ,table_name ,"(`" ,column_name ,"` " ,COLUMN_TYPE ,");" ) WHEN ORDINAL_POSITION > mincol AND ORDINAL_POSITION < maxcol THEN CONCAT ( "`" ,column_name ,"` " ,COLUMN_TYPE ,"," ) WHEN ORDINAL_POSITION = maxcol THEN CONCAT ( "`" ,column_name ,"` " ,COLUMN_TYPE ,");" ) END ) AS statement ,ORDINAL_POSITION ,maxcol ,mincolFROM ( SELECT b.table_schema,b.table_name,b.ORDINAL_POSITION,b.column_name, (case when column_type = 'timestamp' then 'datetime' when column_type = 'bit(1)' then 'int(1)' else column_type end ) AS column_type ,a.maxcol ,a.mincol FROM ( SELECT table_schema ,table_name ,max(ORDINAL_POSITION) maxcol ,min(ORDINAL_POSITION) mincol FROM information_schema.COLUMNS GROUP BY table_schema ,table_name ) a JOIN ( SELECT table_schema ,table_name ,ORDINAL_POSITION ,column_name ,COLUMN_TYPE FROM information_schema.COLUMNS ORDER BY table_schema ,table_name ,ORDINAL_POSITION ASC ) b ON a.table_schema = b.table_schema AND a.table_name = b.table_name ) cWHERE table_schema = 'test' 继续阅读与本文标签相同的文章
上一篇 :
自增长列的一个小问题
下一篇 :
如何用好redis pipeline
-
椭圆曲线加密中的加法乘法浅析
2026-05-24栏目: 教程
-
一道ISCC题引申的PHP正则复习
2026-05-24栏目: 教程
-
2018CSTC web2 writeup
2026-05-24栏目: 教程
-
pwn练习-r0pbaby
2026-05-24栏目: 教程
-
【打酱油】2018强网杯个人小结
2026-05-24栏目: 教程
