精华内容
下载资源
问答
  • Json常见问题

    2019-10-02 18:09:50
    1、创建包含 JSON 语法的 JavaScript 字符串: var txt = '{ "employees...'{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" ...

    1、创建包含 JSON 语法的 JavaScript 字符串:

    var txt = '{ "employees" : [' +
    '{ "firstName":"Bill" , "lastName":"Gates" },' +
    '{ "firstName":"George" , "lastName":"Bush" },' +
    '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
    View Code

    2、由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

    eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:var obj = eval ("(" + txt + ")");

      提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。

    使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。

    3、

    转载于:https://www.cnblogs.com/shenchao/p/4633270.html

    展开全文
  • MySQL常见函数

    2020-05-29 20:00:56
    一、单行函数: 做处理使用。如concat, length, ifnull等; 1、字符函数: (1)length(获取参数值的字节个数):...select concat(lastName, '_', firstName) 姓名 from emps; (3)upper(转大写)、lower(转小写
    一、单行函数:
    做处理使用。如concat, length, ifnull等;
    

    1、字符函数:
    (1)length(获取参数值的字节个数):

    select length('john');  #返回字符长度
    select length('张三丰hahaha');# 返回15(一个字母占1个字节,一个汉字占3个字节)
    

    (2)concat(字符串拼接):

    select concat(lastName, '_', firstName) 姓名 from emps;
    

    (3)upper(转大写)、lower(转小写):

    select upper('john');
    select lower('joHn');
    

    (4)substr、substring(截取字符):
    注意:索引从1开始。

    selct substr('李莫愁爱上了陆展元',  7);   # 输出'陆展元'
    
    select substr(str, index);  # 截取从指定索引至最后的所有字符
    select substr(str, index, size);  # 截取从指定索引处指定字符长度的字符
    

    (5)instr(返回子串第一次出现的索引,若找不到则返回0):

    select instr('杨不悔爱上了殷六侠', ’殷六侠‘)  # 输出7
    select instr('杨不悔爱上了殷六侠', ’殷八侠‘)  # 输出0
    

    (6)trim(去除前后空格):

    select trim('张 翠 山');
    select trim('a' from 'aaa张aaa翠aaa山')  # 去除前后的字符a
    

    (7)lpad(用指定的字符实现左填充指定长度):

    select lpad('殷素素', 5, '*');   # 输出'aa殷素素'
    

    (8)rpad(用指定的字符实现右填充指定长度):

    select rpad('殷素素', 5, 'ab');    # 输出'殷素素aa'
    

    (9)replace(替换):

    select replace('张无忌爱上了周芷若', '周芷若', '赵敏');  # 输出'张无忌爱上了赵敏'
    

    2、数学函数:
    (1)round(四舍五入);

    select round(1.65)        # 输出2
    select round(1.567, 2)    # 输出1.57(保存2位小数点)
    

    (2)ceil(向上取整:返回大于等于该参数的最小整数):

    select ceil(-1.02)      # 输出-1
    

    (3)floor(向下取整:返回小于等于该参数的最大整数):

    select floor(-9.99)      # 输出-10
    

    (4)truncate(截断):

    select truncate(1.65, 1)       # 输出1.6
    select truncate(1.6999, 1)     # 输出1.6
    

    (5)mod(取余):
    mod(a, b) : 等价于a-a/b*b

    select mod(10, 3)         # 输出1
    select mod(-10, -3)       # 输出-1
    select mod(-10, 3)        # 输出-1
    

    3、日期函数:
    (1)now(返回系统当前日期+时间):

    select now();    # 输出2020-05-28 18:36:29
    

    (2)curdate(返回系统当前日期,不包含时间):

    select curdate();    # 输出2020-05-28
    

    (3)curtime(返回系统当前时间,不包含日期):

    select curtime();    # 输出18:36:29
    

    (4)获取指定的部分(年、月、日、消失、分钟、秒):

    select year(now())  年;
    select year('2020-05-28') 年;
    select year(birthday) 年 from emps;
    select monthname(now()) 月;    # 当前是5月,故输出May
    

    (5)str_to_date(将日期格式的字符通过指定格式转换成日期):

    str_to_date('11-29-1992', '%m-%d-%Y')  # 输出1992-11-29
    

    日期格式如下:
    在这里插入图片描述
    (6)date_format(将日期转换成字符):

    date_format('1992/11/29', '%Y年%m月%d日')  # 输出1992年11月29日
    

    4、其他函数:
    (1)select version(); # 查询当前数据库版本
    (2)select database(); # 查询当前数据库
    (3)select user(); # 查询当前用户
    5、流程控制函数:
    (1)if函数:等价与if else;

    select if(10 > 5, '1', '0');
    

    (2)case函数:
    使用1:类似于switch case效果;
    java中:

    switch(变量或表达式) {
    	case 常量1: 语句1; break;
    	······
    	default: 语句n; break;
    

    mysql中:

    case 要判断的字段或表达式
    	when 常量1 then 要显示的值1或语句1;
    	······
    	else 要显示的值n或语句n;
    

    例:查询员工的工资,要求:
    deptId=30, 显示的salary为1.1倍;
    deptId=40,显示的salary为1.2倍;
    deptId=50, 显示的salary为1.3倍;

    select salary 原始工资,  deptId,
    	case deptId
    		when 30 then salary*1.1
    		when 40 then salary*1.2
    		when 50 then salary*1.3
    		else salary
    	end as 新工资
    	from emps;
    

    使用2:类似于多重if
    java中:

    if (条件1) {
    	语句1;
    } else if (条件2) {
    		语句2;
    	   }
    	   ······
    else {
    	语句n;
    }
    

    mysql中:

    case 
    	when 条件1 then 要显示的值1或语句1;
    	······
    	else 要显示的值n或语句n
    end
    

    例:查询员工的工资情况:
    若salary > 20000, 显示A级别;
    若salary > 15000, 显示B级别;
    若salary > 10000, 显示C级别;

    select salary,
    case 
    	when salary > 20000 then 'A'
    	when salary > 15000 then 'B'
    	when salary >10000 then 'C'
    	else 'D'
    	end as 工资级别
    from emps;
    
    二、分组函数:
    做统计使用。又称为统计函数、聚合函数、组函数。
    

    分类:sum,avg,max,min,count。
    1、简单使用:
    (1)sum(求和)

    select sum(salary) from emps;
    

    (2)avg(平均值):

    select avg(salary) from emps;
    

    (3)max(最大值):

    select max(salary) from emps;
    

    (4)min(最小值):

    select min(salary) from emps;
    

    (5)count(统计个数):

    select count(salary) from emps;
    

    也可:

    select 
    	sum(salary) 和,  
    	avg(salary) 平均值, 
    	max(salary) 最高,
    	min(salary) 最低,
    	count(salary) 个数
    from emps;
    

    2、特点:
    (1)支持的参数类型:

    sum, avg一般用于处理数值型;
    max, min, count可以处理任何类型;
    

    (2)是否忽略null值:
    所有分组函数都忽略null值;
    (3)可以和distinct搭配实现去重的运算:

    select sum(distinct salary), sum(salary) from emps;
    select count(distinct salary), count(salary) from emps;
    

    (4)count函数的详细介绍:
    一般使用count(*)统计行数。

    select count(salary) from emps;
    select count(*) from emps;      # 一般用于统计行数
    select count(1) from emps;
    

    效率:
    myisam存储引擎下,count()效率高;
    innodb存储引擎下,count(
    )和count(1)效率差不多,比count(字段) 要高一些。
    (5)和分组函数一起查询的字段要求是group by后的字段。

    展开全文
  • 1) Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会包错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to ...

    1) Error code 1064: Syntax error

    假设有一个sql语句

    select LastName, FirstName,from Person

    执行的时候会包错误

    Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from Person' at line 2.

    1064错误说明你的sql语句有语法错误,单看这个错误码,我们无法判断出具体是哪的错误。

    仔细看报错信息的最后,有一段用单引号标识的对源sql语句的引用'from Person',这表示的是这段sql语句无法被解析,但是对于我们这个例子,这个报错引用并没什么卵用。我们再注意观察,这个引用的信息前面多了一个逗号,这个逗号后面应该接的是个表中的列名,而不是from关键字。

    1064的错误信息一般最后会有个... near '...'格式的信息,near后面的引用就是sql语句开始无法被解析的地方,当遇到这个错误,多观察这段无法解析的sql语句前后的字符。

    有时候,你得到的错误信息是... near '',near后面的引用是空的,这表示出错的地方位于sql语句的开头或者第一个字符,通常情况是单引号、引号、括号没有成对出现或者是结尾处没有正确的字符,如中文分号。

    如果发现了1064错误,注意查看报错信息里引用的sql语句,多查看这个错误的sql语句前后部分。

    如果有人向你询问1064的sql错误,你最好让他给你提供完整的sql语句和报错信息。

    2) Error code 1175: Safe Update

    这个错误是由于你执行update或者delete语句时,没有指定where条件,如果想忽略这个错误,则修改配置

    SET SQL_SAFE_UPDATES = 0;

    重新打开错误提醒

    SET SQL_SAFE_UPDATES = 1;

    3)1067, 1292, 1366, 1411 - Bad Value for number, date, default, etc.

    1067这个错误和TINESTAMP默认值有关,需查看官方文档

    1292/1366 double和integer类型错误,检查语法和数值类型

    1292 detatime错误,检查插入的时间数据格式,是否超出范围,带时区格式的时间字符串格式是否有问题

    1292 VARIABLE 检查你设置的VARIABLE属性

    1292 LOAD DATA 检查转义字符,检查数据类型

    1411 STR_TO_DATE 检查时间字符串格式

    4)1045 Access denied

    权限错误,检查用户名密码是否正确,检查当前用户是否有权限访问数据。

    5)1236 "impossible position" in Replication

    通常情况下,这是由于mysql主节点挂掉了并且sync_binlog=OFF,解决方法是在从节点设置 POS=0。

    当sync_binlog=OFF时,主节点会在把数据先发给从节点,然后写binlog。当主节点在写binlog之前挂掉了,这时候由于已经把数据发给从节点了,所以从节点在写完数据后,binlog被更新,导致主节点和从节点binlog指针位置不一致。所以,当主节点重新启动后,会开启一个新的binlog,所以这时候把从节点的binlog指针位置设置为0,从头重新开始。

    最好的解决方法设置sync_binlog=ON,这样基于binlog同步,但会带来较多的i/o开销。

    6)24 Can't open file (Too many open files)

    open_files_limit是个系统的设置,table_open_cache必须比系统的这个配置小

    7)1062 - Duplicate Entry

    这个错误通常有以下几个原因 1. 主键约束,Error Code: 1062. Duplicate entry ‘12’ for key ‘PRIMARY’,主键约束的数据必须是唯一的,解决的方法之一是设置主键是自增的,这样,插入数据时,设置主键的数据为NULL。 2. 唯一属性约束,Error Code: 1062. Duplicate entry ‘A’ for key ‘code’,这是你设置了数据是唯一的,但插入的数据和表中数据重复了,解决的方法是使用INSERT IGNORE代替INSERT,INSERT IGNORE插入数据的时候,如果重复了,就不做任何操作,也不报错,如果不重复,就和INSERT行为一致,插入数据。

    8)126, 127, 134, 144, 145

    当你访问数据时,可能会遇到这些错误。这是错误是由于mysql数据库内部错误引起的。比如:

    MySQL error code 126 = Index file is crashed MySQL error code 127 = Record-file is crashed MySQL error code 134 = Record was already deleted (or record file crashed) MySQL error code 144 = Table is crashed and last repair failed MySQL error code 145 = Table was marked as crashed and should be repaired

    mysql的bug,被攻击了,服务挂了,不正确的关闭mysql,损坏的数据都有可能造成这些问题。当这些错误发生时,数据就无法访问了,并且一直永久的无法访问。所以,最好把数据做好备份,如果你没有备份,可以尝试去修复mysql。如果存储引擎是MyISAM,使用CHECK TABLE和REPAIR TABLE命令(mysql>=5.7)。

    CHECK TABLE

    9)1366

    这通常意味着客户端和服务器之间的字符集处理不一致。

    10)139

    错误139可能意味着表定义中字段的数量和大小超过了一些限制。检查sql语句中异常长的字符串,异常大的整数等等

    11)2002, 2003 Cannot connect

    无法连接,如果服务正常启动,检查以下可能的项目 1、是不是防火墙的问题,关闭防火墙试试 2、检查mysql服务监听的IP 3、检查skip-name-resolve 4、检查socket文件路径

    12)2014 Commands out of sync; you can't run this command now

    这个是由于你运行sql查询语句的序列不正确造成的,官方的解释

    This can happen, for example, if you are using mysql_use_result() and try to execute a new query before you have called     mysql_free_result(). It can also happen if you try to execute two queries that return data without calling mysql_use_result() or mysql_store_result() in between.

    总结起来意思就是你查询了结果,但是却没有把结果获取下来。造成mysql server一直在等你把结果取走。

    13)1215: Cannot add foreign key constraint

    添加外键错误,检查外键关联的两个字段数据类型是否一致。

    End.

    原文链接:http://www.bugcode.cn/mysqlerrorcodes.html

    展开全文
  • C#字符串常见处理

    2019-06-27 19:23:22
    以下是我收集的关于常见字符串处理中易误解的地方: 时刻应该记住的是:字符串是引用变量,且在做任何操作后其本身的值保持不变,如要改变其本身的值,则还应对自身重新赋值。 string firstName = "Miracle";...

    以下是我收集的关于常见字符串处理中易误解的地方:

    时刻应该记住的是:字符串是引用变量,且在做任何操作后其本身的值保持不变,如要改变其本身的值,则还应对自身重新赋值

     

    string firstName = "Miracle";
    string lastName = "He";
    StringBuilder sb = new StringBuilder();
    sb.Append(firstName);
    sb.Append(lastName);
    string name = sb.ToString();//比"+"性能更好
    string str = name.Substring(1, 2);
    //该方法签名Substring(startIndex, count)其中第二个参数为截取位数而不是所谓的结束索引endIndex
    Console.WriteLine(str);//输出ir
    byte[] byteStr = System.Text.Encoding.Default.GetBytes(name);
    Console.WriteLine(byteStr.Length);//输出9
    string fullName = "Miracle He";
    Console.WriteLine(Char.IsWhiteSpace(fullName, 7));//是否为空白:输出true
    Console.WriteLine(Char.IsPunctuation(fullName, 1));//是否为标点:输出false
    Console.WriteLine((int)'');//转化为对应的ASCII码值: 20309
    Console.WriteLine((char)20309);//转化为对应的字符: 何

    //删除字符串的最后一个字符
    string testStr = "Miracle He";
    Console.WriteLine(testStr.Substring(0, testStr.Length - 1));//输出Miracle H
    Console.WriteLine(testStr.TrimEnd('e'));//输出Miracle H
    Console.WriteLine(testStr.TrimEnd(new char[] { 'e' }));//输出Miracle H
    Console.WriteLine(testStr.TrimEnd("He".ToCharArray()));//输出Miracle: 等同于new char[]{'H', 'e'}
    Console.WriteLine(testStr);//本身保持不变,输出Miracle He

    //使用Split来分割字符串
    string strA = "aaa,bbb,ccc";
    string[] arrayA = strA.Split(',');//等同于splitStr.Split(new char[]{','});
    foreach (string elem in arrayA)
    {
    Console.WriteLine(elem);
    }
    //用多个字符分割字符串
    string strB = "aaajbbbscccjdddseee";
    string[] arrayB = strB.Split(new char[] { 'j', 's' });//等同于
    strB.Split(new char[] { ',' });
    foreach (string elem in arrayB)
    {
    Console.WriteLine(elem);
    }
    //用字符串分割字符串
    string strC = "aaajsbbbjsccc";
    string[] arrayC = Regex.Split(strC, "js", RegexOptions.IgnoreCase);
    foreach (string elem in arrayC)
    {
    Console.WriteLine(elem);
    }

    Console.WriteLine(12345.ToString("n"));//输出12,345.00
    Console.WriteLine(12345.ToString("C"));//输出¥12,345.00
    Console.WriteLine(12345.ToString("e"));//输出1.234500e+004
    Console.WriteLine(12345.ToString("f4"));//输出12345.0000
    Console.WriteLine(12345.ToString("x"));//输出3039
    Console.WriteLine(12345.ToString("p"));//输出1,234,500.00%

    //将123456789转化为12-345-6789的3种方法
    Console.WriteLine(int.Parse("123456789").ToString("##-###-####"));
    Console.WriteLine("123456789".Insert(5, "-").Insert(2, "-"));
    Regex regex = new Regex(@"^(\d{2})(\d{3})(\d{4})$");
    Console.WriteLine(regex.Replace("123456789", "$1-$2-$3"));

    //简单输出21个S(不用for循环)
    string result = new string('S', 21);
    Console.WriteLine(result);

    //获取随机数
    Random random = new Random();
    Console.WriteLine(random.Next());//输出非负随机整数
    Console.WriteLine(random.Next(10));//输出小于10非负随机整数
    Console.WriteLine(random.Next() % 10);//输出非负随机整数
    Console.WriteLine(random.Next(1, 20));//输出指定范围(1~20)非负随机整数
    Console.WriteLine(random.NextDouble());//输出0.0~1.0非负随机数

    //int.TryParse,int.Parse,Convert.ToInt32之间的区别:
    //性能上: int.TryParse > int.Parse > Convert.ToInt32.建议在.Net1.1使用int.Parse,在.Net2.0使用int.TryParse
    int myInt = 0;
    string testStr = "1234";
    int.TryParse(testStr, out myInt);
    Console.WriteLine(myInt);
    Console.WriteLine(int.Parse(testStr));
    Console.WriteLine(Convert.ToInt32(testStr));
    testStr = null;
    int.TryParse(testStr, out myInt);
    Console.WriteLine(myInt);//输出0
    //Console.WriteLine(int.Parse(testStr));//抛异常
    Console.WriteLine(Convert.ToInt32(testStr));//输出0

    //几个常见的数学函数及应用
    Console.WriteLine(Math.Ceiling(1.4));//输出2
    Console.WriteLine(Math.Floor(1.4));//输出1
    Console.WriteLine(Math.Round(1.4));//输出1
    int ys = 0;
    int s = Math.DivRem(5, 3, out ys);
    Console.WriteLine("5/3的商:" + s + ",余数: " + ys);
    Console.WriteLine(Math.BigMul(2, 4));//输出两个32位整数的完整乘积8
    Console.WriteLine((double)5 / 3.0);//输出两个数的商(除数与被除数类型必须相同)

     

    转载于:https://www.cnblogs.com/hmiinyu/archive/2011/11/04/2236252.html

    展开全文
  • 常见函数 分类 1.单行函数:concat、length、ifnull 2.分组函数:做统计使用 单行函数 字符函数 1.length 获取参数值的字节个数 select length(‘john’); 2.concat 拼接字符串 select concat(lastname,’‘,...
  • SQL 表中的常见

    2019-12-03 14:01:16
    SELECT P.FirstName, P.LastName, I.PAN, C.DOB FROM PersonalInfo P LEFT JOIN IDInfo I ON I.ID = P.ID LEFT JOIN CompanyInfo C ON C.ID = P.ID WHERE P.ID = @YourInput https://zhaopin.baidu.com/q...
  • Mysql常见错误码讲解

    2017-09-04 23:47:22
    Error code 1064: Syntax error 假设有一个sql语句 select LastName, FirstName,from Person 执行的时候会包错误 Error Code: 1064. You have an error in your SQL syntax; check the manual that c...
  • 数据库常见19道题

    2020-04-20 14:52:47
    lee175组合两个表 SQL架构 表1: Person ±------------±--------+ | 列名 | 类型 | ±------------±--------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | ±------------±-------...
  • 一、常见的增删改查(一)、查:1、SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons; 2、SELECT * FROM 表名称,表示查找表中所有的内容,星号(*)是...
  • SQL常见语句大全

    2012-09-05 12:48:33
    ----------------------------------------------------------基本-------------------------------------------------------------- ... SELECT * FROM Persons WHERE firstname='Thomas' OR lastname
  • Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会包错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your ...
  • apex--常见代码--DML

    2021-01-25 17:30:33
    //dml---insert(); Database.SaveResult[] srList = Database.insert(conList, false); //或者 insert conList; Bulk DML ...// Create a list of contacts ... new Contact(FirstName='Joe',LastName='Smith',Depa..
  • 1.缺失索引: USE AdventureWorks2014 SET STATISTICS TIME ON;... SELECT per.FirstName,per.LastName,p.Name,p.ProductNumber,soh.OrderDate,sod.LineTotal,soh.TotalDue FROM sales.S...
  • Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会包错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your ...
  • iOS - 两种常见的桥接方式

    千次阅读 2016-04-30 17:30:02
    很多时候都会使用到CoreFoundation的函数,其返回值为CoreFoundation框架的对象,如果想转换为Foundation框架的对象就可以使用桥接方式来搞定。 示例代码: CFStringRef firstname = ...CFStringRef lastname = A
  • Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会包错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your ...
  • Linq的常见查询语句示例

    千次阅读 2008-07-30 12:23:00
    查询语句汇聚:var 构建匿名类型2 = from emp in ctx.Employees select new { 姓名 = emp.LastName + emp.FirstName, 雇用年 = emp.HireDate.Value.Year };var select带条件 = from o in ctx.Orders select new { ...
  • Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会报错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your...
  • Error code 1064: Syntax error假设有一个sql语句select LastName, FirstName,from Person执行的时候会报错误Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your...
  • 指针与链表及其操作 //结构体定义 typedef struct _person{ ... char* lastname; char* title; unsigned int age; }Person;Person person;//分配内存Person *ptrPerson;ptrPerson = (Person*) ...
  • LastName:</lable>, 其中idlable匹配第(4)步中的标签。 2:输入<inputtype="tex". 3:输入name=”datename”,这里的datename是用于让服务器(和脚本)识别输入数据的文本 4:如果在...
  • 指针与结构体  简介:我们可以使用C的结构体来表示数据结构元素,比如链表或树的节点,指针是把这些元素联系到一起... char* lastName; char* title; unsigned int age; } Person;/*用点表示法初始化*/ Per...
  • [code="java"] 有两个类: public class Person { private Integer id; private String firstName;... private String lastName; private String email; private Department dept; /...
  • 前言: 好歹也是用了三年的Vue老手了,天天搬砖,也没意思,想着研究一些深层次的东西,自己造造轮子,顺便换个城市,换个工作。 第一题:Vue中Watch和Computed方法的区别?... return firstName + lastName; } .
  • 用LogExplorer恢复,如果没有LogExplorer可以用日志文件进行时间点恢复,将会失去此时间点之后的所有数据库改变example:首先对数据库进行日志备份查询分析器里1.usenorthwindinsertemployees(lastname,firstname)...
  • 6、List绑定 List需要绑定在对象上,而不能直接写在Controller方法的参数中。   public class User {  ... private String lastName;     。。。    }     public 

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
关键字:

常见lastname