首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的数组只在数据库中插入一次,而忽略了其他数据

对于这个问题,我可以给出以下完善且全面的答案:

问题描述:我的数组只在数据库中插入一次,而忽略了其他数据。

解决方案:

  1. 数据库事务:使用数据库事务可以确保数据的一致性和完整性。在插入数组数据之前,开启一个数据库事务,将数组数据插入数据库中,然后提交事务。这样可以保证数组数据只被插入一次,同时保证其他数据的插入操作也能够执行。
  2. 唯一约束:在数据库中为数组数据所在的表添加唯一约束。通过在数组数据所在的字段上添加唯一约束,可以确保该字段的值在表中是唯一的。当尝试插入重复的数组数据时,数据库会抛出唯一约束冲突的异常,从而忽略重复的数据。
  3. 数据校验:在应用程序中对数据进行校验,确保数组数据只被插入一次。可以在应用程序中维护一个标志位,当数组数据已经被插入数据库时,将标志位设置为已插入状态。在插入数据之前,先检查标志位的状态,如果已插入,则忽略插入操作。
  4. 缓存机制:使用缓存机制可以减少对数据库的访问次数,提高性能。可以将数组数据缓存在内存中,每次插入数据之前,先检查缓存中是否存在该数据,如果存在,则忽略插入操作。
  5. 定时任务:通过定时任务来执行插入操作,可以确保数组数据只被插入一次。可以设置一个定时任务,在指定的时间点执行插入操作,然后停止该定时任务,避免重复插入数据。

腾讯云相关产品推荐:

  • 云数据库 TencentDB:提供高性能、可扩展的数据库服务,支持多种数据库引擎,包括 MySQL、SQL Server、MongoDB 等。链接地址:https://cloud.tencent.com/product/cdb
  • 云缓存 Redis:提供高性能、可靠的分布式缓存服务,支持多种数据结构和丰富的功能。链接地址:https://cloud.tencent.com/product/redis
  • 云服务器 CVM:提供弹性、安全、稳定的云服务器实例,支持多种操作系统和应用场景。链接地址:https://cloud.tencent.com/product/cvm

请注意,以上答案仅供参考,具体的解决方案和产品选择应根据实际需求和情况进行评估和决策。

相关搜索:我可以只为具有计算数据的单元格形成数组,而忽略没有数据的单元格,而只忽略基础公式吗?我的代码只在sqldatabase中插入第一行数据Yii2 -我根据需要编辑了控制器中的actionDelete(),但它忽略了代码,只删除了GridVIew数据在python中,如何只获取目录中符合特定命名模式的文件的名称,而忽略其他文件的名称?在SAS中只保留包含某些单词的数据,而不保留其他任何内容为什么数据的随机部分取代了曾经存储在字符数组中的其他数据?我的PHP文件在搜索之前显示了数据库中的数据我似乎无法使用php和mysql wamp在我的数据库中插入数据。在我的数据库中显示姓名,而不是RFID卡号如何通过JDBC的PreparedStatement在HyperSQL数据库中插入UUID数组插入...重复密钥更新在我的数据库中不起作用无法在angular 5中的数据库页面中显示我的数组数据?我想检查我是否已经存储了数据,如果没有,我想将它存储在我的mongodb数据库中插入的数据没有通过邮递员显示在我的数据库表中我可以从节点的sqlite3数据库中获取数组而不是JSON数组吗?如何使用python和sqlite3从csv中只更新数据库中的两列,而不接触其他列中的数据?使用Xamarin在我的数据库Slite中插入寄存器,错误我在java中使用泛型来查找数组的最大值,但它只接受双精度数据类型,而不接受其他数据类型。For循环只在某些地方调用对象中的最后一个数组,而不在其他地方调用Laravel中的测试-每个文件只运行一次数据库迁移,而不是为每个单独的测试运行一次
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP爬虫源码:百万级别知乎用户数据爬取与分析

所以在二和四两者间选择了第二种方案。而第三种方案, INSERT INGNORE 会忽略执行INSERT语句出现的错误,不会忽略语法问题,但是忽略主键存在的情况。...最终,考虑到要在数据库中记录重复数据的条数,因此在程序中采用了第二种方案。...我猜是知乎做了防爬虫的防护,于是我就拿其他的网站来做测试,发现一次性发200个请求时没问题的,证明了我的猜测,知乎在这方面做了防护,即一次性的请求数量是有限制的。...还有一个就是待抓取的用户需要暂时保存在一个地方以便下一次执行,刚开始是放到数组里面,后来发现要在程序里添加多进程,在多进程编程里,子进程会共享程序代码、函数库,但是进程使用的变量与其他进程所使用的截然不同...多进程编程中Redis和MySQL连接问题 在多进程条件下,程序运行了一段时间后,发现数据不能插入到数据库,会报mysql too many connections的错误,redis也是如此。

2.6K82

高并发服务优化篇:一图详解1.7HashMap死循环的产生

随着元素的不断增多,HashMap会进行数组扩容,装填因子之类的信息我们这里就忽略了。...扩容和移动的方式,是创建一个新的数组,将原始数据,根据新的hash值,用头插法插入到新的数组。最后,用新的数组代替老的数组,完成扩容。 那么,为什么多线程下,这个过程会发生死循环异常呢?...Part2剖析死循环的产生 一图胜千言,更何况是动态图~ 我是动图,请给我两分钟~ 结合上图,现在有 三个元素被存储在table[3]的链表中。...此时,如果有线程来get(19) , 而元素又在A,B,C 之外,在链表中遍历,就有可能一直循环下去。...高并发服务优化:浅谈数据库连接池 11. 高并发服务优化:详解RPC的一次调用过程 12. 高并发服务优化:详解一次由读写锁引起的内存泄漏

57030
  • mongodb数据结构与基本操作增删改查整理(二)

    mongodb数据结构学习–增删改查 插入文档 在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(document)语句来插入文档; document...目录下, 如果collection不存在,数据库会先创建collection,然后再保存document 列表内容 批量插入文档 insert语句不但可以插入单个文档,还可以一次性插入多个文档。...多个文档可以放在一个数组内,一次插入多条数据,例如: db.users.insert([{name:"tommy"},{name:"xiaoming"}])   文档批量插入非常方便,但是使用批量插入时也有一些问题需要注意...,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。...如下图,在查询过程指定了一个查询条件和一个排序修饰。 在关系型数据库中,投影指的是对列的筛选,类似的,在MongoDB中,投影指的是对出现在结果集中的对象属性的筛选。

    1.9K40

    mongodb数据结构与基本操作增删改查整理(二)

    mongodb数据结构学习–增删改查 插入文档 在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(document)语句来插入文档; document...目录下, 如果collection不存在,数据库会先创建collection,然后再保存document 列表内容 批量插入文档 insert语句不但可以插入单个文档,还可以一次性插入多个文档。...多个文档可以放在一个数组内,一次插入多条数据,例如: db.users.insert([{name:"tommy"},{name:"xiaoming"}])   文档批量插入非常方便,但是使用批量插入时也有一些问题需要注意...,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。...如下图,在查询过程指定了一个查询条件和一个排序修饰。 在关系型数据库中,投影指的是对列的筛选,类似的,在MongoDB中,投影指的是对出现在结果集中的对象属性的筛选。

    1.8K20

    【数据结构】B树,B+树,B*树

    (2)结点分裂后提取中位数到父节点时,要挪动父节点中存储的key和child,那就需要遍历父节点的keys数组,从后向前遍历的过程中要保证下标i得大于0,while循环要多加个i>0的条件,我当时忽略了这一点...,非叶子结点只存储索引,叶子结点才去存储关键字,所以当B+树为空进行插入时,需要创建出两个结点,一个作根用来存储索引,一个作叶子用来存储关键码,只不过在我下面画的图中,53第一次既作关键码又作了索引。...,同时B+树的叶子结点用指针链接成了一个带头单链表,对于数据库中存储表信息所使用的数据结构,大部分其实用的都是B+树,而不是B树,主要由于B树有以下几个优点:(1)B树的非叶子结点空间占用更少,在文件读取时...在实际取出数据库中某个数据到内存时,会先把磁盘上B树或B+树组织的数据读取出来一部分,然后将其加载到内存中,在内存中,如果要在节点中查找某个目标值时,我们肯定要访问节点的keys数组,其实访问keys数组我们可以不用一个一个关键字的遍历...B树和B+树其实通常都用来做索引,做数据库在查找数据时的索引,在MYSQL中,索引属于存储引擎的概念,不同的存储引擎所使用的索引结构也不同,下面我们只谈论最常见的两种存储引擎,分别是InnoDB和MyISAM

    21721

    一名代码审计新手的实战经历与感悟

    比如说blueCMS中,根据主页,我就猜测,如果将一些xss语句存到数据库,那么他主页显示的时候,是不是就会有存储型xss呢?另外,主页还引入了一些文件,但是,我个人是没有去看的。...这个或许就会导致IP注入或XSS,前提是如果开发者将用户IP写入数据库或展现出来的话。 这里提出来是因为作为新手的我居然也忽略了过滤文件。。。...而至于这里的过滤函数么,实际上就是判断传进来的数据是不是数组,要是数组,则遍历数组的每个值进行addslashes过滤,不是数组,则直接用addslashes进行过滤。...简单来说,我喜欢追踪数据流,虽然挖掘漏洞的速度没有那些按功能点审计,按危险函数回溯的方法快,而且对于自定义封装的函数来说,我容易忽略这类漏洞,比如这里的getip()明显有未过滤的情况,我却忽略了,但是...只需要在编辑个人资料的地方,将email地址中填入最基本的,便可以提交存储到服务器的数据库中。之前我在审计关于email这一栏的时候,他里面还用正则匹配做了过滤。

    1.2K60

    Mysql - 多张千万级统计数据实践笔记(PHP Script)

    先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。...会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。...这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。...以下实例使用了 INSERT IGNORE INTO,执行后不会出错,也不会向数据表中插入重复数据,而 REPLACE INTO 如果存在 primary 或 unique相同的记录,则先删除掉。...2.set_time_limit设置脚本执行时间在php中set_time_limit函数是用来限制页面执行时间的,如我想把一个php页面的执行时间定义为5秒就可以set_time_limit(5)了,

    1.1K50

    Shopee 面试体验拉满!

    可惜,实际并不是这样的,有不少同学觉得开的太高了,导致都不敢去,总怕去了之后,很快被毁约,大部分最后选择了低个 2-4k 的其他大厂 offer,所以现在校招生选择 offer 的时候,也不会光只看薪资...经常用于 GROUP BY 和 ORDER BY 的字段,这样在查询的时候就不需要再去做一次排序了,因为我们都已经知道了建立索引之后在 B+Tree 中的记录都是排序好的。 什么时候不需要创建索引?...全局锁:通过flush tables with read lock 语句会将整个数据库就处于只读状态了,这时其他线程执行以下操作,增删改或者表结构修改都会阻塞。...JDK 1.8 HashMap 采用数组 + 链表 + 红黑二叉树的数据结构,优化了 1.7 中数组扩容的方案,解决了 Entry 链死循环和数据丢失问题。...在收到 FIN 报文的时候,TCP 协议栈会为 FIN 包插入一个文件结束符 EOF 到接收缓冲区中,服务端应用程序可以通过 read 调用来感知这个 FIN 包,这个 EOF 会被放在已排队等候的其他已接收的数据之后

    21010

    开发者不骗开发者,你跟我说这只要100块?

    在进行弹幕功能的技术选型前,开发同学梳理了业务场景: 弹幕实时互动 允许少量的弹幕丢失 仅发布会直播当晚使用 敏感信息/关键字过滤 在综合考虑成本、稳定性、与小程序适配性等多个方面后,项目最终选择了云开发的实时数据推送功能...这样保证了用户监听的数据记录为恒定数量,这里采用10条记录(循环数组)汇总弹幕数据,每秒更新当前时间戳的所有弹幕到 index = timestamp%10 的数据记录上,同时弹幕刷新频率固定为1s,减轻前端由于数据频繁改动而不断...Tips 当时没注意到 watch 对数据库权限限制的问题,数据库权限默认为仅创建者可读写,循环数组第一次初始化是开发过程中在客户端创建,默认添加了当前用户的openid,导致其他用户无法读取到 merge...而在费用方面,支撑整个项目弹幕系统运行的总费用仅为100元左右,主要集中在数据库读写和云函数调用(目前监听数据库实时数据功能处于免费阶段,不会计算到数据库读取费用上),抛去其他模块的费用,实际弹幕模块可能仅消耗了小几十块钱...总体上,项目采用云开发,具备以下优势: 自带弹性扩缩容,可以抗住瞬时高并发流量,保障直播顺利进行; 费用便宜,只收取云函数调用和数据库读写费用,实时数据推送免费使用,非常适合项目; 安全稳定,项目的访问都基于云开发自带的微信私有链路实现

    45620

    算法读书笔记(1)-时间、空间复杂度分析

    我们通常会忽略掉公式中的常量、低阶、系数,只需要记录一个最大阶的量级就可以了 我们在分析一个算法、一段代码的时间复杂度的时候,也只关注循环执行次数最多的那一段代码就可以了 加法法则:总复杂度等于量级最大的那段代码的复杂度...要查找的变量 x 可能出现在数组的任意位置。如果数组中第一个元素正好是要查找的变量 x, 那就不需要继续遍历剩下的 n-1 个数据了,那时间复杂度就是 O(1)。...平均复杂度只在某些特殊情况下才会用到,而均摊时间复杂度应用的场景比它更加特殊、更加有限。...但如果数组一开始就有空闲空间,则直接将数据插入数组。 数组中有空闲空间,我们只需要将数据插入到数组下标为 count 的位置就可以了, 所以最好情况时间复杂度为 O(1)。...最坏的情况下,数组中没有空闲空间了, 我们需要先做一次数组的遍历求和,然后再将数据插入,所以最坏情况时间复杂度为 O(n)。 那平均时间复杂度是多少呢?答案是 O(1)。

    45320

    不懂这些,简历上都不敢写自己熟悉Redis

    但Redis却可以做到每秒万级别的处理能力,主要是基于以下原因: (1)Redis是基于内存操作的,Redis所有的数据库状态都保存在内存中。而内存的响应时长是非常快速的,大约在100纳秒。...(2)Redis采用I/O多路复用技术,这种I/O模型是非阻塞I/O,应用程序在等待I/O操作完成的过程中不需要阻塞。 (3)最后一点也是我开头提到的,Redis采用了单线程模型。...字典的组成结构如下所示。可以看到ht数组有两个dictht哈希表,Redis的平常使用时只使用其中一个哈希表,而另一个是在迁移扩展哈希表rehash时使用。...跳跃表的底层结构类似于一个值 + 保存了指向其他节点的level数组,而这个level数组的作用就是用来加快访问其他节点的速度。...但执行类似ZRANGE、ZRNK命令时,效率是比较低的。因为每次排序需要在内存上对字典进行排序一次,这消耗了额外的O(n)内存空间。

    19598

    Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day17】—— 数据库4

    车票 面试题1:MySQL中你用过的INSERT插入方式都有哪几种? 1、普通插入语句 2、插入或更新 3、插入或替换 4、插入或忽略 面试题2:见过大量数据同时插入的场景么?有哪些处理方式?...我们常见的插入方法一般有这几种,普通插入语句、插入或更新、插入或替换、插入或忽略,应用在不同的场景中,在功能方面呢也会有所不同。...情景示例:这张表存了用户历史充值金额,如果第一次充值就新增一条数据,如果该用户充值过就累加历史充值金额,需要保证单个用户数据不重复录入。   ...情景示例:这张表存的每个客户最近一次交易订单信息,要求保证单个用户数据不重复录入,且执行效率最高,与数据库交互最少,支撑数据库的高可用。   ...每日小结   今天我们复习了面试中MySQL数据库中三个常见的实战问题,你做到心中有数了么?对了,如果你的朋友也在准备面试,请将这个系列扔给他,如果他认真对待,肯定会感谢你的!!

    1.2K20

    面试官初体验

    ,其他线程就可以继续往数据库中插入数据获取锁 什么是触发器?...从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。...快慢指针 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?...如果数组没有排序,可以用 Partition 函数找出数组中的中位数。在没有排序的数组中插入一个数字和找出中位数的时间复杂度是 O(1)和 O(n)。...我们还可以往数组里插入新数据时让数组保持排序,这是由于可能要移动 O(n)个数,因此需要 O(n)时间才能完成插入操作。在已经排好序的数组中找出中位数是一个简单的操作,只需要 O(1)时间即可完成。

    30551

    不再迷惑,无值和 NULL 值

    在关系型数据库的世界中,无值和NULL值的区别是什么?...学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对是噩梦的存在;而空值,一般对字符串类型而言,指没有任何值的字符串类型,为字符类型的变量设置为空值:set @vs=”,空值跟无值不同...”,对,但是,赋值方法不是我求索的重点,我关注的是从表中取值为变量赋值的结果。...如果只知聚合函数忽略NULL值,而不知空表也会产生结果为NULL的聚合值,轻易得出聚合函数不会返回NULL值的定论,那就很尴尬。...楼主曾遇到过一次“意外”,在一次调试脚本代码的过程中,我遇到max聚合函数返回NULL值的情况,当时一脸懵逼,直接怀疑自己之前的所学。

    1.3K30

    MongoDB【快速入门】

    作为一个适用于敏捷开发的数据库,MongoDB 的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。...,有时关系型数据库涉及几个表的操作,在 MongoDB 中一次就能完成,可以减少昂贵的连接花销; 文档不对数据结构加以限制,不同的数据结构可以存储在同一张表; MongoDB 的文档数据模型和索引系统能有效提升数据库性能...为了在没有连接的MongoDB中生存下去,在没有其他帮助的情况下,我们必须在自己的应用程序中实现连接。 基本上我们需要用第二次查询去找到相关的数据。...找到并组织这些数据相当于在关系数据库中声明一个外来的键。现在先别管什么独角兽了,我们来看看我们的员工。...在最糟糕的情况下,为弥补连接的缺失需要做的只是再多查询一次而已,该查询很可能是经过索引了的。

    88110

    MongoDB【快速入门】

    作为一个适用于敏捷开发的数据库,MongoDB 的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。...; 文档可以嵌套,有时关系型数据库涉及几个表的操作,在 MongoDB 中一次就能完成,可以减少昂贵的连接花销; 文档不对数据结构加以限制,不同的数据结构可以存储在同一张表; MongoDB 的文档数据模型和索引系统能有效提升数据库性能...为了在没有连接的MongoDB中生存下去,在没有其他帮助的情况下,我们必须在自己的应用程序中实现连接。 基本上我们需要用第二次查询去找到相关的数据。...找到并组织这些数据相当于在关系数据库中声明一个外来的键。现在先别管什么独角兽了,我们来看看我们的员工。...在最糟糕的情况下,为弥补连接的缺失需要做的只是再多查询一次而已,该查询很可能是经过索引了的。

    88240

    ArrayList和LinkedList的区别和使用场景 局部性原理

    所以,根据它们的优缺点,可以知道,ArrayList适用于频繁查询和获取数据,比如说一个图书馆的数据库的数据的存储,它日常生活中都是看看书在哪里,或者书的作者等其它属性,而不用每天都要增加新的书或者把旧书丢掉...而插入和删除则如我所说的那样,插入要增加数组的长度,所以要新建一个数组来存放原来的数组加上新插入的元素,即移动数据。删除一个元素也是类似。...而插入也是类似的原理,我就不废话了。而关于查找,则根据链表的组成原理,要获取单向链表的某个元素,则必须从头节点开始,进行一次遍历,依次判断是否等于自己要查找的元素的值。知道找到为止。...,不然会由于你指针的后移导致你忽略了刚刚前移上来的元素。...而arraylist和linkedlist都是不同步的,要使它同步可以在创建的时候用其他方法创建,具体可见API文档。

    75430

    阿里二面凉了,难蹦。。。

    ConcurrntHashMap怎么实现线程安全的 JDK 1.7 ConcurrentHashMap 在 JDK 1.7 中它使用的是数组加链表的形式实现的,而数组又分为:大数组 Segment 和小数组...在收到 FIN 报文的时候,TCP 协议栈会为 FIN 包插入一个文件结束符 EOF 到接收缓冲区中,服务端应用程序可以通过 read 调用来感知这个 FIN 包,这个 EOF 会被放在已排队等候的其他已接收的数据之后...经常用于 GROUP BY 和 ORDER BY 的字段,这样在查询的时候就不需要再去做一次排序了,因为我们都已经知道了建立索引之后在 B+Tree 中的记录都是排序好的。 什么时候不需要创建索引?...说说B+树和B树的区别 在B+树中,数据都存储在叶子节点上,而非叶子节点只存储索引信息;而B树的非叶子节点既存储索引信息也存储部分数据。...而如果记录是顺序插入的,例如插入数据11,则只需开辟新的数据页,也就不会发生页分裂: 因此,在使用 InnoDB 存储引擎时,如果没有特别的业务需求,建议使用自增字段作为主键。

    15210

    MongoDB权威指南学习笔记(1)--基础知识与对文档的增删改查

    数据库 数据库就是多个集合,一个mongo实例可以承载多个数据库,每个数据库可以有多个集合,每个数据库都有独立的权限。...),从交互式shell运行脚本 load("scipt.js") 在脚本中可以访问db变量,以及其他全局变量,然而shell辅助函数不可以在文件中使用 在shell中使用run()执行命令行程序...{"_id":2}]) 不能在单词请求中将多个文档批量插入多个集合中 如果在执行批量插入的过程中有一个文档插入失败,那么在该文档之前的所有文档都会成功插入,这个文档之后的文档都会插入失败 插入文档的..._id不能重复 在批量插入遇到错误时,可以使用continueOnError选项忽略错误并继续执行后续插入,但在shell中并不支持,在驱动中可以执行 插入校验 mongo只对数据进行最基本的检查,检查文档的基本结构...查询的结束条件,在这样的查询中,文档必须与索引的键完全匹配 注: 上述测试在MongoDB 3.4.3-8-g05b19c6中成功 上述文字皆为个人看法,如有错误或建议请及时联系我

    5.6K10

    MySQL深入学习第四篇 - 深入浅出索引(上)

    数据库索引的内容比较多,我分成了上下两篇文章。索引是数据库系统里面最重要的概念之一,所以我希望你能够耐心看完。在后面的实战文章中,我也会经常引用这两篇文章中提到的知识点,加深你对数据库索引的理解。...所以,哈希表这种结构适用于只有等值查询的场景,比如 Memcached 及其他一些 NoSQL 引擎。 而有序数组在等值查询和范围查询场景中的性能就都非常优秀。...如果仅仅看查询效率,有序数组就是最好的数据结构了。但是,在需要更新数据的时候就麻烦了,你往中间插入一个记录就必须得挪动后面所有的记录,成本太高。...所以,有序数组索引只适用于静态存储引擎,比如你要保存的是 2017 年某个城市的所有人口信息,这类不会再修改的数据。 二叉搜索树也是课本里的经典数据结构了。...数据库技术发展到今天,跳表、LSM 树等数据结构也被用于引擎设计中,这里我就不再一一展开了。 你心里要有个概念,数据库底层存储的核心就是基于这些数据模型的。

    39621
    领券