iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql数据库数据更新失效的原因和解决方法
  • 303
分享到

Mysql数据库数据更新失效的原因和解决方法

2024-04-02 19:04:59 303人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Mysql数据库数据更新失效的原因和解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 背景最近的项目中遇到一项问题,并发更新某一单据

这篇文章将为大家详细讲解有关Mysql数据库数据更新失效的原因和解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. 背景

最近的项目中遇到一项问题,并发更新某一单据的时候,出现了更新失效的情况。比如:

@Transactional(rollbackFor = Exception.class)
public void update(Integer id){
    //1.按id查询
    //2.更新某一字段的值
}

生成的sql大概是这样的:

UPDATE  table 
SET field = #{field,jdbcType=INTEGER}
WHERE id= 1

那么以上代码产生的问题就是:
对于同一个id=1来说,请求A与请求B都进到了update方法中,此时按id查询得到的信息是相同的,那么请求A更新了id=1的这条记录之后,此时,请求B又对id=1的记录进行更新,此时注意请求B更新id=1的记录的时候,请求B按id查询到的数据已经是旧数据了,请求B执行完之后,请求A的更新被请求B覆盖了。

如果更新的是状态,那倒无所谓,如果库存量呢?
如果更新的是库存,是在这条记录的原始值上进行+或者-操作,是不是就出问题了?

2. 分析产生的原因

事后写了个小demo来复现问题,代码大致如下:

需求: 某个分类每被访问一次,排序就+1;
开启两个客户端同时访问

@Transactional(rollbackFor = Exception.class)
public void updateStatusTest(Integer id) {
    System.out.println("start:"+Thread.currentThread().getName());
    CateGory category = categoryMapper.selectById(id);
    try {
        Thread.sleep(8000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+":"+category);
    category.setSort(category.getSort()+1);
    categoryMapper.updateById(category);

    category = categoryMapper.selectById(id);
    System.out.println(Thread.currentThread().getName()+":"+category);
    System.out.println("end:"+Thread.currentThread().getName());
}

DAO层使用的mybatis,生成日志大致如下:
需要更新的sort值数据库初始为:0

start:Http-NIO-8062-exec-1
Creating a new SqlSession
ReGIStering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@2d5c951c] will be managed by spring
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 0, 1111
<==      Total: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
 Time:27 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
        parent_id,
        image_url,
        icon_url,
        sort,
        status 
    FROM
        t_admin_category 
    WHERE
        cid=6

start:http-nio-8062-exec-2
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046]
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@700c5b36] will be managed by Spring
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
 Time:2 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
        parent_id,
        image_url,
        icon_url,
        sort,
        status 
    FROM
        t_admin_category 
    WHERE
        cid=6

==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 0, 1111
<==      Total: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046]
http-nio-8062-exec-1:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=0, status='1111'}
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9] from current transaction
==>  Preparing: UPDATE t_admin_category SET category_name=?, parent_id=?, image_url=?, icon_url=?, sort=?, status=? WHERE cid=? 
==> Parameters: 1(String), 0(Integer), 11111(String), 1(String), 1(Integer), 1111(String), 6(Integer)
 Time:16 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.updateById
Execute SQL:
    UPDATE
        t_admin_category 
    SET
        category_name='1',
        parent_id=0,
        image_url='11111',
        icon_url='1',
        sort=1,
        status='1111' 
    WHERE
<==    Updates: 1
        cid=6

Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9] from current transaction
    SELECT
        cid,
        category_name,
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
        parent_id,
==> Parameters: 6(Integer)
        image_url,
        icon_url,
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
        sort,
        status 
<==        Row: 6, 1, 0, 11111, 1, 1, 1111
    FROM
<==      Total: 1
        t_admin_category 
    WHERE
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
        cid=6

http-nio-8062-exec-1:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=1, status='1111'}
end:http-nio-8062-exec-1
Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6df7e3e9]
http-nio-8062-exec-2:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=0, status='1111'}
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046] from current transaction
==>  Preparing: UPDATE t_admin_category SET category_name=?, parent_id=?, image_url=?, icon_url=?, sort=?, status=? WHERE cid=? 
 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.updateById
Execute SQL:
    UPDATE
        t_admin_category 
    SET
        category_name='1',
        parent_id=0,
        image_url='11111',
        icon_url='1',
        sort=1,
        status='1111' 
    WHERE
        cid=6

==> Parameters: 1(String), 0(Integer), 11111(String), 1(String), 1(Integer), 1111(String), 6(Integer)
<==    Updates: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046] from current transaction
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 0, 1111
 Time:16 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
<==      Total: 1
        parent_id,
        image_url,
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7af43046]
        icon_url,
        sort,
        status 
    FROM
http-nio-8062-exec-2:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=0, status='1111'}
        t_admin_category 
end:http-nio-8062-exec-2
    WHERE
        cid=6

大致意思:
请求A与请求B,同时操作id=6的这条记录时,查询出来id=6的这条记录,然后请求A对其进行了修改 SET sort=1操作,完事之后,请求A的事务提交了。而此时请求B,通过id=6条件查询到的category的信息是请求A提交之前的,此时请求B执行了SET sort=1,覆盖了请求B的修改操作。

3. 解决思路

解决方法其它很简单,我们上面可以看到,update语句是直接set sort=1的,我们只需要改为set sort = sort +1 就可以了。你不信?那我改一下试试:

@Transactional(rollbackFor = Exception.class)
public void updateStatusTest(Integer id) {
    System.out.println("start:"+Thread.currentThread().getName());
    Category category = categoryMapper.selectById(id);
    try {
        Thread.sleep(8000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+":"+category);
//        category.setSort(category.getSort()+1);
    categoryMapper.updateStatusById(category);

    category = categoryMapper.selectById(id);
    System.out.println(Thread.currentThread().getName()+":"+category);
    System.out.println("end:"+Thread.currentThread().getName());
}

Mapper文件:

<update id="updateStatusById" parameterType="com.sxl.simple.shop.admin.category.entity.Category">
      UPDATE
        t_admin_category
      SET
        sort =sort + 1
    WHERE
        cid= #{cid,jdbcType=INTEGER}
</update>

我们执行试一下,看下日志:

start:http-nio-8062-exec-1
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@6c17839b] will be managed by Spring
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 0, 1111
<==      Total: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
 Time:43 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
        parent_id,
        image_url,
        icon_url,
        sort,
        status 
    FROM
        t_admin_category 
    WHERE
        cid=6

start:http-nio-8062-exec-2
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022]
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@195f8b5a] will be managed by Spring
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 0, 1111
<==      Total: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022]
 Time:2 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
        parent_id,
        image_url,
        icon_url,
        sort,
        status 
    FROM
        t_admin_category 
    WHERE
        cid=6

http-nio-8062-exec-1:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=0, status='1111'}
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f] from current transaction
==>  Preparing: UPDATE t_admin_category SET sort =sort + 1 WHERE cid= ? 
==> Parameters: 6(Integer)
<==    Updates: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f] from current transaction
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.updateStatusById
Execute SQL:
    UPDATE
        t_admin_category 
    SET
        sort =sort + 1 
    WHERE
        cid= 6

==> Parameters: 6(Integer)
 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
Execute SQL:
<==        Row: 6, 1, 0, 11111, 1, 1, 1111
    SELECT
<==      Total: 1
        cid,
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
        category_name,
        parent_id,
http-nio-8062-exec-1:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=1, status='1111'}
        image_url,
end:http-nio-8062-exec-1
        icon_url,
        sort,
Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
        status 
    FROM
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
        t_admin_category 
    WHERE
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e925f3f]
        cid=6

 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.updateStatusById
Execute SQL:
    UPDATE
        t_admin_category 
    SET
        sort =sort + 1 
    WHERE
        cid= 6

 Time:0 ms - ID:com.sxl.simple.shop.admin.category.mapper.CategoryMapper.selectById
Execute SQL:
    SELECT
        cid,
        category_name,
        parent_id,
        image_url,
        icon_url,
        sort,
        status 
    FROM
        t_admin_category 
    WHERE
        cid=6

http-nio-8062-exec-2:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=0, status='1111'}
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022] from current transaction
==>  Preparing: UPDATE t_admin_category SET sort =sort + 1 WHERE cid= ? 
==> Parameters: 6(Integer)
<==    Updates: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022] from current transaction
==>  Preparing: SELECT cid,category_name,parent_id,image_url,icon_url,sort,status FROM t_admin_category WHERE cid=? 
==> Parameters: 6(Integer)
<==    Columns: cid, category_name, parent_id, image_url, icon_url, sort, status
<==        Row: 6, 1, 0, 11111, 1, 2, 1111
<==      Total: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c88f022]
http-nio-8062-exec-2:Category{cid=6, categoryName='1', parentId=0, imageUrl='11111', iconUrl='1', sort=2, status='1111'}
end:http-nio-8062-exec-2

看完上述内容,你们对mysql数据库数据更新失效的原因和解决方法大概了解了吗?如果想了解更多相关文章内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql数据库数据更新失效的原因和解决方法

本文链接: https://www.lsjlt.com/news/37055.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql数据库乱码的原因及解决方法
    这篇文章主要介绍“Mysql数据库乱码的原因及解决方法”,在日常操作中,相信很多人在Mysql数据库乱码的原因及解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysq...
    99+
    2024-04-02
  • PHP更新数据库失败的原因是什么及怎么解决
    这篇“PHP更新数据库失败的原因是什么及怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP更新数据库失败的原因是什...
    99+
    2023-07-06
  • mysql数据库失败的解决方法
    这篇文章将为大家详细讲解有关mysql数据库失败的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。初始化mysql数据库失败的解决办法:首先找到并打开my.ini文...
    99+
    2024-04-02
  • PHP连接MySQL数据库失败原因及解决
    目录 背景 过程 1.按照相关博客下载安装好PHP和Phpstorm 2.安装好后的调试 1.安装网上大多数人都有的问题,我以为是我php.ini里面有些语句没改 2.发现自己Phpstorm中有PHP却没有php.ini 3.仍然报错。。...
    99+
    2023-09-02
    数据库 php 开发语言
  • 【总结】php显示连接数据库失败的原因和解决方法
    PHP作为一种非常流行的服务器脚本语言,被广泛用于编写动态网站,并且往往要与数据库进行交互来存储和检索数据。然而,客观上存在连接数据库失败的情况,接下来本文将讨论此类问题及其解决方案。常见的连接数据库失败问题在使用PHP连接数据库时,有几个...
    99+
    2023-05-14
    php 数据库
  • MySQL数据库崩溃的常见原因和解决方法是什么
    这篇“MySQL数据库崩溃的常见原因和解决方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL数据库崩溃的常见...
    99+
    2023-07-05
  • 阿里云数据库链接失败原因及解决方法
    本文将详细阐述阿里云数据库链接不上问题的原因及解决方法,帮助读者解决实际操作中遇到的问题。 阿里云数据库链接不上可能由多种原因导致,包括但不限于:数据库服务器宕机、数据库配置错误、网络连接问题、安全策略限制等。本文将针对这些问题进行详细解析...
    99+
    2023-11-22
    阿里 解决方法 原因
  • 阿里云连接MySQL数据库服务器失败原因及解决方法
    随着云计算技术的发展,越来越多的企业和个人开始使用阿里云等云平台进行数据库管理。然而,由于各种原因,阿里云连接MySQL数据库服务器可能会遇到失败的问题。本文将详细介绍这个问题的原因及解决方法。 问题描述:当用户使用阿里云连接MySQL数据...
    99+
    2023-12-12
    阿里 解决方法 原因
  • PHP函数__autoload失效原因及解决方法
    1、利用sprintf()函数来格式化,语法“sprintf("%.小数位数f",$num)”。 <?php header("Content-type:text/h...
    99+
    2024-04-02
  • mongodb数据丢失的原因及解决方法是什么
    MongoDB数据丢失的原因可能有多种,包括硬件故障、网络故障、软件错误、人为操作错误等。以下是一些常见的原因和解决方法: 硬件...
    99+
    2023-10-21
    mongodb
  • 阿里云数据库异地备份失败的原因与解决方法
    本文主要针对阿里云数据库异地备份失败的问题进行详细解析,以期帮助用户解决在阿里云数据库使用过程中可能出现的异地备份失败问题。 阿里云数据库是阿里云推出的一款云数据库服务,具有高可用性、高性能、高安全性的特点,深受用户欢迎。然而,由于各种原因...
    99+
    2023-11-13
    阿里 异地 解决方法
  • 阿里云数据库CPU100%的原因及解决方法
    阿里云数据库是阿里巴巴推出的一款高性能、高可用、可扩展的云数据库产品,为企业提供稳定、安全的数据存储和管理服务。然而,有时我们会遇到阿里云数据库CPU使用率过高的问题,这可能会导致数据库性能下降,影响企业业务的正常运行。本文将详细探讨阿里云...
    99+
    2023-12-14
    阿里 解决方法 原因
  • mysql数据库索引失效怎么解决
    当MySQL数据库索引失效时,可以尝试以下几种方法来解决问题: 重新设计索引:检查数据库表的索引设计是否合理,是否覆盖了常用的查...
    99+
    2024-04-09
    mysql
  • MySQL数据库丢失root密码的解决方法
    这篇文章主要介绍了MySQL数据库丢失root密码的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  MySQL数据库丢失root密...
    99+
    2024-04-02
  • 阿里云链接数据库失败原因及解决方案
    阿里云数据库作为阿里云服务的重要组成部分,为用户提供稳定、高效的数据存储和处理服务。然而,在实际使用中,偶尔会出现链接数据库失败的情况,这无疑给用户带来了困扰。本文将详细介绍阿里云链接数据库失败的原因及解决方案。 一、原因分析网络问题:网络...
    99+
    2023-11-18
    阿里 解决方案 原因
  • 远程连接阿里云MySQL数据库服务器失败的原因及解决方法
    随着互联网技术的发展,越来越多的企业和个人开始使用MySQL数据库来存储和管理数据。然而,有时候在远程连接阿里云MySQL数据库服务器时可能会遇到各种问题,如连接失败。本文将详细介绍远程连接阿里云MySQL数据库服务器失败的原因及解决方法。...
    99+
    2023-11-22
    阿里 解决方法 原因
  • 探讨Gitlab误删数据的原因和解决方法
    在软件开发中,版本控制是一个非常重要的环节。Gitlab作为一个版本控制系统,为团队协作和代码管理提供了很多便利。但是,当我们在使用Gitlab的时候,误删数据是一个很常见的问题,并且对项目和开发人员都可能造成很大的影响。本文将探讨Gitl...
    99+
    2023-10-22
  • 阿里云服务器数据库连接失败的原因及解决方法
    阿里云服务器是阿里云提供的一种云计算服务,可以帮助用户快速构建和部署应用程序。但是,有时候用户可能会遇到阿里云服务器数据库连接失败的问题。本文将详细介绍这个问题的原因,并提供相应的解决方法。 一、阿里云服务器数据库连接失败的原因数据库服务器...
    99+
    2023-11-16
    阿里 解决方法 数据库连接
  • 阿里云服务器数据库导出失败原因及解决方法
    在使用阿里云服务器进行数据库管理时,可能会遇到数据库导出失败的问题。这个问题可能会导致数据库的数据丢失,甚至可能影响到服务器的正常运行。本文将详细解释数据库导出失败的原因,以及提供一些解决方法。 一、原因分析数据库连接问题:如果数据库连接出...
    99+
    2023-11-17
    阿里 解决方法 原因
  • mysql连接数据库失败的原因有哪些
    用户名或密码错误:输入的用户名或密码不正确,导致无法连接数据库。 主机名错误:指定了错误的主机名或IP地址,无法与数据库服务器建立...
    99+
    2024-04-09
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作