因为调试程序分页效果需要快速的添加一些记录,复制当然是最方便的方法:
但是几个字段的话还好说,要是有几十个字段,那不就有点..... :cry:
也许有更巧妙的复制记录的方法,但如果参照以上方法的话,下一步工作就是快速方便的获取到“列名”。 当然通过JAVA或PHP程序进行处理的话也是可以的,但是sql语句本身也有一些有趣的办法可以得到。
假定我这里的表名是“hugetable”,首先熟悉的获取表信息的方法有:
但是他们得到的结果是类似以下:
而我暂时想要的仅仅是column name而已。
于是找到下面的一个语句,可以实现这个要求:
当然将这些结果集的field values拷贝出来后,还需要一些正则替换,
将 单引号 ’ 替换为 空白
将 回车符 \n 替换为 逗号,
现在得到的字串就满足需求了 :-)
抛块砖,希望遇见更好的方法 :-)
insert into table1(f1,f2) select f1,f2 from table1 where id < 10;
但是几个字段的话还好说,要是有几十个字段,那不就有点..... :cry:
也许有更巧妙的复制记录的方法,但如果参照以上方法的话,下一步工作就是快速方便的获取到“列名”。 当然通过JAVA或PHP程序进行处理的话也是可以的,但是sql语句本身也有一些有趣的办法可以得到。
假定我这里的表名是“hugetable”,首先熟悉的获取表信息的方法有:
SHOW COLUMNS FROM hugetable;
DESCRIBE hugetable;
但是他们得到的结果是类似以下:
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
而我暂时想要的仅仅是column name而已。
于是找到下面的一个语句,可以实现这个要求:
select column_name from information_schema.columns where table_name='hugetable';
当然将这些结果集的field values拷贝出来后,还需要一些正则替换,
将 单引号 ’ 替换为 空白
将 回车符 \n 替换为 逗号,
现在得到的字串就满足需求了 :-)
抛块砖,希望遇见更好的方法 :-)