从表中选择数据再插入到表中(select XXX into 与insert into XXX select的结合) 在做性能测试时需要大量的业务数据.完全从画面造数据比较费时间,使用SQL文批量插入数据相对来讲就快很多,但是毕竟是手动插入的与实际数据的分布规律有一些差距.可以以表中已经存在的数据为基础造数据插入到原表中. 从表中选择数据再插入到表中有什么好方法呢?使用Select XXX into本来是个好方法.但是由于表中是有主键的,不能直接把检索到的行数据一股脑地插入到表中,需要更改主键的值…
/// <summary> /// 为dt表增加一个自增的ID字段 /// </summary> /// <param name="dt">用户传进来的表</param> /// <returns></returns> public static DataTable AddAutoIdColumn(DataTable dt) { if (dt != null) { //Type.GetType (String) 获…
第一步,在navicat中,例如表test新建查询,输入以下两行代码即可搞定. alter table test add id int; alter table `test` change id id int not null auto_increment primary key; 第二步,右键test表,设计,将id移动至第一行就可.…
工具-选项-设计器-阻止保存要求重新创建表的更改,√去掉.…
可以通过存储过程完成,也可以通过在库名上右击“新建查询”执行.语句其实基本相同. 1. 存储过程: CREATE PROCEDURE pro1 as insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1' 然后执行,刷新“存储过程”,在新建的存储过程“pro1”上右击“执行存储过程”即可. 如果存储过程写为: PROCED…
(1).select * into destTbl from srcTbl(2).insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl…
转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:在表上新增一个触发器,当删除数据ID为 1 2 3 4 5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序 查询分析器),具体实现方式,如下文所示: create trigger trTriggerA on A fo…
一.背景mysql 表中已有 4 亿数据,为提高查询效率,需创建分区,一开始计划是创建 HASH 分区,结果报错:ERROR 1659 (HY000): Field 'partno' is of a not allowed type for this type of partitioning1 查询得知报错原因,HASH 分区只支持数字分区,而我要分区的字段是 varchar 类型,故改用 KEY 分区二.解决 KEY 分区语句: alter table TABLENAME PARTITION…
在开发过程中,有时由于业务等需要把一个表中的两列数据进行交换. 解决方案 使用update命令,这完全得益于MySQL SQL命令功能的强大支持. 表格中原来数据类似如下: select * from product; +----+--------+| id | name   | original_price | price  | +----+----+--------+|  1 | 雪糕   |           5.00 |   3.50 | |  2 | 鲜花   |          …
文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了. SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND() ,RAND(N) :返回在范…