怎么向mysql导入数据的同时在主键列自动生成uuid

数据表有id这一列,为主键列。现在如果有数据文件,如excel或者xml,想将其中的数据导入对应的目标表,但是不使用数据文件中的id列,而是导入其他数据列的同时为id列生成uuid并保存在表里,怎么实现呢?

比如表结构是 id name age
excel文件是 1 张三 20等等,
导入的时候只让name=张三,age=20 id不取1而是生成一个uuid,怎么做到呢,工具是Navicat,数据库是mysql

4个回答

insert into table(id) values (uuid())

SYL2311246962
支持中文英文数字下划线 你可以先正常导数据,进到数据库只有id这列是数字
大约一年之前 回复
qq_27498287
诸葛浪 用导入向导导入数据文件,要求数据进去的时候就应该有id,这个语句根本无法执行
大约一年之前 回复

先导入进去在写个程序循环update吧

你可以先正常导数据,进到数据库只有id这列是数字,因为uuid都是不一样的
你可以写 update 表名 set id=uuid()

你导入的时候不做解析的么?数据属性对应之类的,那解析的时候直接添加进去啊
就比方说你解析完之后是不是需要放到user中? 那么user的名字是张三,user.setUserName("张三" ); 那你user.setId(util.getUUid());不就好了嘛?

但如果你只是操作数据库,就当我没回复吧.....

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

sql server新增数据时主键自动生成

sql server新增数据时主键自动生成 生成规则为四位年份+二位月份+三位流水号 如:201812001、201812002 这个应该怎么解决,目前思路是写函数,函数应该怎么写,求各位大神帮忙

mysql以触发器方式设置主键为uuid,一直报错

建完一张产品表,在原来的表上设置触发器使主键为uuid,但一直报错。 sql语句如下: ```sql CREATE TABLE `product` ( `id` varchar(50) DEFAULT NULL, `productNum` varchar(50) NOT NULL, `productName` varchar(50) DEFAULT NULL, `cityName` varchar(50) DEFAULT NULL, `DepartureTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `productPrice` double DEFAULT NULL, `productDesc` varchar(500) DEFAULT NULL, `productStatus` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `product` (`id`,`productNum`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TRIGGER product_before_insert BEFORE INSERT ON product FOR EACH ROW BEGIN IF NEW.id IS NULL THEN SET NEW.id = SELECT(UUID()) END IF END ``` 错误信息如下 : ![图片说明](https://img-ask.csdn.net/upload/202001/22/1579687029_83369.png) 把id设置为固定值建立触发器也不行。如下所示。 ![图片说明](https://img-ask.csdn.net/upload/202001/22/1579686502_229350.png) 不知道哪里弄懵了!

uuid最好是用代码来生成呢,还是在数据库里直接生成就好

既然在数据库里(比如mysql),就可以直接生成uuid,那为啥大部分情况,还是在代码中生成。

MySQL分区表,有主键时,分区列必须包含在主键中,主键列的唯一性如何保证?

如题,MySQL分区表,有主键时,分区列必须包含在主键中,主键列的唯一性如何保证?

mysql数据库主键为bigint类型,要求使用uuid生成主键,有大佬帮忙解决一下吗

之前用的uuid都是32位的varchar类型,这次要求插入的uuid为20位bigint类型 之前的uuid生成方式 @SelectKey(keyProperty = "id",resultType = String.class, before = true, statement = "select replace(uuid(), '-', '')") @Options(keyProperty = "ID", useGeneratedKeys = true)

在hibernate映射文件中使用uuid生成主键id,为何添加时候还会报错不能为null

![图片说明](https://img-ask.csdn.net/upload/201706/05/1496659389_656320.png)

mysql使用触发器生成主键,在mybatis中使用@option注解不返回ID

CREATE TRIGGER Test_Demigod BEFORE INSERT ON INSTANCE FOR EACH ROW BEGIN SET NEW.ID =(SELECT UUID()); END 使用mybatis注解式新增并写上@option注解 @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int addInstance(Instance instance); 执行成功后instance中的id还是为空! (别问为什么要使用触发器生成uuid主键,实际主键是一组有规律的字符串,这里使用uuid当实例)

mysql UUID()生成固定格式

(例如:F0427666-20151111151544) 在数据库中生成,不是在程序里面,大神们指导下呗

hibernate如何配置mysql主键生成策略?

在之前的使用过程中,是用的oracle,只需要用注解的方式在主键上加@GeneratedValue,新增操作时,就可以自动生成主键了。 但是现在这个项目转为用mysql,用@GeneratedValue就会报“java.sql.SQLException: Field '***' doesn't have a default value” ``` @Id @GeneratedValue @Column(name = "rol_id") private Long rolId; // ID ``` 后来在网上搜了下,改成下面这样就不会报错了 ``` @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "increment") @Column(name = "rol_id") private Long rolId; // ID ``` 这样设置之后,主键就相当于是自增型的了,我也不太清楚其中的道理 各位大侠,请问后面这种解决方式好吗?或者说要怎样完美的解决这个问题呢?

使用日期和时间生成主键

<div class="post-text" itemprop="text"> <p>i try to generate a primary key using <code>date</code> and <code>time</code> with php code.</p> <p>but when i save the id change to <code>2147483647</code>.</p> <p>my code to get date and time is.</p> <pre><code>$dt = new DateTime("now", new DateTimeZone('Asia/Jakarta')); </code></pre> <p>then i print it to input form with <code>readonly</code></p> <pre><code>&lt;input type="text" class="form-control" id="idpost" name="idpost" value="&lt;?php echo $dt-&gt;format('dmHis'); ?&gt;" form="add_post" readonly&gt; </code></pre> </div>

MySQL InnoDB引擎,主键自增的实用性高吗? 主键自增的优点和缺点如何取舍?

在使用InnoDB存储引擎时,如果没有特别的需要,请永远使用一个与业务无关的自增字段作为主键。 经常看到有帖子或博客讨论主键选择问题,有人建议使用业务无关的自增主键,有人觉得没有必要,完全可以使用如学号或身份证号这种唯一字段作为主键。不论支持哪种论点,大多数论据都是业务层面的。如果从数据库索引优化角度看,使用InnoDB引擎而不使用自增主键绝对是一个糟糕的主意。 InnoDB使用聚集索引,数据记录本身被存于主索引(一颗B+Tree)的叶子节点上。这就要求同一个叶子节点内(大小为一个内存页或磁盘页)的各条数据记录按主键顺序存放,因此每当有一条新的记录插入时,MySQL会根据其主键将其插入适当的节点和位置,如果页面达到装载因子(InnoDB默认为15/16),则开辟一个新的页(节点)。 如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。如下图所示: --- ![https://blog.codinglabs.org/uploads/pictures/theory-of-mysql-index/13.png](https://blog.codinglabs.org/uploads/pictures/theory-of-mysql-index/13.png) --- 这样就会形成一个紧凑的索引结构,近似顺序填满。由于每次插入时也不需要移动已有数据,因此效率很高,也不会增加很多开销在维护索引上。 如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新纪录都要被插到现有索引页得中间某个位置: --- ![https://blog.codinglabs.org/uploads/pictures/theory-of-mysql-index/14.png](https://blog.codinglabs.org/uploads/pictures/theory-of-mysql-index/14.png) 此时MySQL不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多开销,同时频繁的移动、分页操作造成了大量的碎片,得到了不够紧凑的索引结构,后续不得不通过OPTIMIZE TABLE来重建表并优化填充页面。 因此,只要可以,请尽量在InnoDB上采用自增字段做主键。 文章资料来自:[https://blog.codinglabs.org/articles/theory-of-mysql-index.html](https://blog.codinglabs.org/articles/theory-of-mysql-index.html "")

MySQL,在重启mysql之后会生成之前生成过的ID

(1).在MySQL里插入10条数据,自增id到11了。然后删掉其中的5条数据,下一条插入的数据id为11(这是正常的) **重启MySQL** (2).在MySQL里插入10条数据,自增id到11了。然后删掉最后的5条数据,【重启一下MySQL之后】下一条插入的数据的id为6 请问如何让mysql的自增id始终为(1)的情景

请教:数据库存放的是自动生成的uuid,jsp页面上显示还是uuid,我想让jsp页面显示文本内容

数据库存放的是自动生成的uuid,jsp页面上显示还是uuid,我想让jsp页面显示文本内容,应该怎么办?前台jsp页面应该怎么写?

当oracle用uuid作为主键的时候 是怎么对数据排序的?

添加一列创建时间么? 还是其他的方式?

用hibernate的uuid注解生成主键, save时提示id出错

使用hibernate uuid注解 自动生成id值,在students和courses多对多的级联保存时, id保存出错 报错代码如下 ``` log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. Hibernate: insert into students (sname, id) values (?, ?) Hibernate: insert into courses (cname, id) values (?, ?) Hibernate: insert into courses (cname, id) values (?, ?) Hibernate: insert into students_courses (sid, cid) values (?, ?) Hibernate: insert into students_courses (sid, cid) values (?, ?) org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:171) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) at com.caidi.Test.TestManyToManyEach.test01(TestManyToManyEach.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:292) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: java.sql.BatchUpdateException: Field 'id' doesn't have a default value at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1693) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1108) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268) ... 31 more ``` 1. Students类 ``` package com.caidi.beans; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name="students") public class Students { @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid.hex") @Column(name="id") private String id; @Column(name="sname") private String sname; @ManyToMany @Cascade(value={CascadeType.SAVE_UPDATE}) @JoinTable(name="students_courses",joinColumns={@JoinColumn(name="sid",referencedColumnName="id")},inverseJoinColumns={@JoinColumn(name="cid",referencedColumnName="id")}) private List<Courses> courses; public Students() { super(); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public List<Courses> getCourses() { return courses; } public void setCourses(List<Courses> courses) { this.courses = courses; } } ``` 2. Courses类 ``` package com.caidi.beans; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.Table; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name="courses") public class Courses { @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid.hex") @Column(name="id") private String id; @Column(name="cname") private String cname; @ManyToMany(mappedBy="courses")//ManyToMany默认lazy加载 @Cascade(value={CascadeType.SAVE_UPDATE}) private List<Students> students; public Courses() { super(); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCname() { return cname; } public void setCname(String cname) { this.cname = cname; } public List<Students> getStudents() { return students; } public void setStudents(List<Students> students) { this.students = students; } } ``` 3. Students_Courses.java ``` package com.caidi.beans; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name="students_courses") public class Students_Courses { private String id; @Column(name="sid") private String sid; @Column(name="cid") private String cid; public Students_Courses() { super(); } @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid.hex") @Column(name="id") public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getCid() { return cid; } public void setCid(String cid) { this.cid = cid; } } ``` 4. 测试代码 ``` package com.caidi.Test; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import com.caidi.beans.Courses; import com.caidi.beans.Students; import com.caidi.utils.HibernateTools; public class TestManyToManyEach { @Test public void test01(){ Session session = HibernateTools.getSession(); //开启事物 Transaction tr = session.beginTransaction(); try{ Courses c1 = new Courses();Courses c2 = new Courses(); c1.setCname("数学课"); c2.setCname("语文课"); List list1 = new ArrayList(); list1.add(c1);list1.add(c2); Students s1 = new Students(); s1.setSname("小明"); s1.setCourses(list1); session.save(s1); tr.commit(); System.out.println("finsh"); }catch(Exception e){ tr.rollback(); e.printStackTrace(); }finally{ if(session.isOpen() ==true){ session.close(); } } } } ``` mysql数据库 ![课程表courses](https://img-ask.csdn.net/upload/201802/26/1519657880_228265.png) ![学生表students](https://img-ask.csdn.net/upload/201802/26/1519657916_358265.png) ![中间表students_courses](https://img-ask.csdn.net/upload/201802/26/1519657943_981379.png)

MYSQL查询用到的主键id索引问题

CREATE TABLE `mytest` ( `id` int(10) NOT NULL AUTO_INCREMENT, `a` int(50) DEFAULT NULL, `b` int(50) DEFAULT NULL, `c` int(50) DEFAULT NULL, `index` int(50) DEFAULT NULL, `remark1` varchar(255) DEFAULT NULL, `remark2` varchar(255) DEFAULT NULL, `remark3` varchar(255) DEFAULT NULL, `remark4` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10059857 DEFAULT CHARSET=utf8 COMMENT='测试1000万数据'; 本人菜鸟,希望大佬们多多指教 这是本人测试建的表,插入了1000万数据,主要是为了测试一下mysql千万数据分页查询时的速度,查询8000000往后100条数据 建表因为主键id唯一自增,所以默认为主键索引 ![查看索引](https://img-ask.csdn.net/upload/201903/28/1553762081_28446.png) SELECT * from mytest limit 8000000,100 > OK > 时间: 8.106s 此查未使用到索引,耗时比较久 SELECT * from mytest where id>(SELECT id from mytest LIMIT 8000000,1) limit 100 > OK > 时间: 5.87s 此处似乎用到了索引,速度有所提升? 这是explain结果 ![图片说明](https://img-ask.csdn.net/upload/201903/28/1553763277_276647.png) 此处是外面查询用到了索引,子查询未用到索引吗?试了多次发现都是差不多这个速度,感觉还是挺慢的 然后 按理说主键id已经是自增索引,查询速度应该很快才对吧,这时候我又对主键id这个字段单独创建了一个普通索引 CREATE index id_index on mytest(id) > OK > 时间: 26.275s ![查询索引](https://img-ask.csdn.net/upload/201903/28/1553762745_778699.png) 查看索引发现和主键索引应该没啥区别,可是,,, 发现查询居然变快了不少??? SELECT * from mytest limit 8000000,100 > OK > 时间: 9.242s 这里未用到索引 SELECT * from mytest where id>(SELECT id from mytest LIMIT 8000000,1) limit 100 > OK > 时间: 1.853s 这是explain结果 ![图片说明](https://img-ask.csdn.net/upload/201903/28/1553763018_643436.png) **这里应该是用到了索引,可是为什么会出现这种情况呢,主键id也是索引,查询就比较慢,单独对id创建了一个普通索引查询速度居然变快了许多,想了半天没明白为啥,求前辈们指教** 此外查询时我也尝试连表查询 SELECT * from mytest a join (SELECT id from mytest limit 8000000,100) b on a.id=b.id; 发现和SELECT * from mytest where id>(SELECT id from mytest LIMIT 8000000,1) limit 100;这个查询耗时几乎一致 附一下表数据 ![图片说明](https://img-ask.csdn.net/upload/201903/28/1553764984_854206.png)

mysql使用mybatis批量添加数据,返回主键

mysql使用mybatis批量添加,使用各种方法都无法返回对应的主键,请兄弟们不吝赐教

spring data jpa 自动生成数据库表的主键数据怎么定义成varchar类型

@Entity @Table(name = "contract") public class Contract implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="contractNo",nullable=false,length=512) private String contractNo; @Column(name = "contract_year") private String contractYear; } 当我的contractNo定义成String类型是创建表数据的时候会报错,定义成int、Long、Integer类型就不会,要怎么设置才能创建varchar类型的数据表数据

mysql主从同步如何让uuid保持一致的数据

主1 从2 1执行 insert into table values(UUID()) 数据库id的值 287f5d9f-920c-11e9-89ee-000c292f7868 2同步之后的值 3b0f0a1d-9231-11e9-b10c-000c293c02eb 问题:如何保持这两个值一致?因为我是要用kattle执行类似UUID()函数的

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问