Code前端首页关于Code前端联系我们

mysql超长自动截断示例详解,当mysql超长自动截断时怎么办

terry 2年前 (2023-09-30) 阅读数 42 #Mysql
文章标签 Mysql

本文内容列表:

  • 1.mysql字符串截取
  • 2.我的数据长度超过了mysql中的varchar(20)。 varchar不是自动增长的吗?为什么最后要剪掉多余的内容呢?
  • 3、mysql -e拼接字段别名太长,256后跳过。

mysql字符串截取

使用MYSQL SUBSTRING_INDEX函数来实现你的函数。该函数的语法解释如下:

SUBSTRING_INDEX(str,delim,count)

返回字符串 str 第 count 次出现的子字符串后的分隔符。如果数字为正数,则返回最后一个分隔符左侧(从左侧算起)的所有字符。如果 count 为负数,则返回最后一个分隔符右侧的所有字符(从右侧计数)。

mysql select SUBSTRING_INDEX('', '.', 2);

- ''

mysql select SUBSTRING_INDEX('', '.', -2);

- 'mysql.com'

此函数对于多字节是可靠的。

如果您的字段名称是xxx,值为201207|123|23.5|100|50|而20120703|19|212|||,获取第三个内容23.5的函数为:

SUBSTRING_INDEX(SUBSTRING_INDEX (xxx,'|',3),'|',-1)

内层函数获取从3开始的所有内容。从内容和字段函数获取mysql中varchar内函数结果

的第一个内容(20)我的数据长度超出。 varchar不是自动增长的吗?为什么超过长度的内容会被截掉呢?

mysql中的Varchar(20)数据长度超出设置错误。解决方案是:

1。通过配置文件 my.ini(Linux 上为 my.cnf)更改此设置。一般情况下,my.ini 文件位于安装文件的根目录下。

2。系统是Windows 10,安装目录下没有my.ini文件。

3。仔细查找后发现my.ini文件就在ProgramData部分。

4。打开配置文件并在[mysqld]后面添加“ft_min_word_len=1”行。 PS:也可以设置为ft_min_word_len=2。具体情况要看你自己的中文数据。

5。重新启动 MySQL 服务。注意,更改配置文件后,必须重启服务才能生效。

6。检查最小索引长度以确保其生效。 SQL 语句:SHOW GLOBAL VARIABLES LIKE '%__word_len%'。

mysql -e 拼接字段别名太长,256后停止

只需在 SQL 中添加“设置名称 utf8”即可。 1、打开mysql/my.ini文件夹,找到default-character-set=Latin1,修改为default-character-set=gb2312; 2、创建表的时候,记得在这条语句最后加上:default charset=gb2312 如下所示:create table name (...)default charset=gb2312; 3、调用数据库时,添加如下语句:$link=mysql_connect('localhost','root',''); mysql_select_db('stud',$link); mysql_query("set names 'gb2312' ");----添加这条语句!这样编码和记录到表上的匹配就分两步和三步。 3、中文无法显示的原因之一是连接数据库时,存储的编码与编码不一致。典型地,中文显示为?

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门