最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql字段名和關鍵字沖突的問題

 更新時間:2023年07月28日 14:31:12   作者:抱起我的貓去旅行  
這篇文章主要介紹了mysql字段名和關鍵字沖突的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mysql字段名和關鍵字沖突

1.用"(`)"將有沖突的字段框起來,鍵盤上1邊上那個鍵。

例:

SELECT * FROM yun_roleright WHERE right LIKE '%{13}%';

上面sql語句中right字段名與關鍵字沖突,會報錯,,,應改成下面:

SELECT * FROM yun_roleright WHERE `right` LIKE '%{13}%';

mysql關鍵字沖突導致的sql執(zhí)行錯誤

最近出現(xiàn)了一個很有意思的情況

我一共有三個數(shù)據(jù)庫,開發(fā),測試,正式,

分別放置在不同的服務器上

都是mysql數(shù)據(jù)庫

這個時候出現(xiàn)了一個有意思的問題

我的sql如下

SELECT count(0) FROM sys_log  WHERE system = 'system'

在開發(fā)和測試數(shù)據(jù)庫上執(zhí)行此sql,沒有問題

但是在正式環(huán)境的數(shù)據(jù)庫上執(zhí)行此sql,就會報如下錯誤

在這里插入圖片描述

納悶了半天,確定就是關鍵字的問題

但是比對了三個數(shù)據(jù)庫,確實又沒找到不同點,問大佬,大佬太忙,也沒細究

解決辦法

方案1:修改字段名(推薦)

注意:但是千萬不要用sql語句去改,因為語句中含有關鍵字,所以sql是不會執(zhí)行成功的,所以只能去數(shù)據(jù)庫管理工具中修改

ALTER table sys_log change system system1 varchar(255) CHARSET utf8 COLLATE utf8_general_ci NULL COMMENT '系統(tǒng)'

【修改字段的名稱】

語法:
alter table <表名> change <字段名> <字段新名稱> <字段的類型>。

方案2:修改執(zhí)行sql

SELECT count(0) FROM sys_log s  WHERE s.system = 'system'

或者

SELECT count(0) FROM sys_log  WHERE `system` = 'system'

其他相關

注意:當出現(xiàn)關鍵字的時候,然后業(yè)務層使用的sql借助了mybatis-plus框架寫的,如

  public PageInfo<SysAuditLogDTO> selectAuditLog(ConditionDTO conditionDTO, Integer pageNum, Integer pageSize) {
        LambdaQueryWrapper<SysLogEntity> wrapper = Wrappers.<SysLogEntity>lambdaQuery()
                .orderByDesc(SysLogEntity::getCreateTime);
        if (StrUtil.isNotEmpty(conditionDTO.getSystem())) {
            wrapper.eq(SysLogEntity::getSystem, conditionDTO.getSystem());
        }
        if (conditionDTO.getStart() != null) {
            wrapper.ge(SysLogEntity::getCreateTime, conditionDTO.getStart());
        }
        if (conditionDTO.getFinish() != null) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(conditionDTO.getFinish());
            calendar.add(Calendar.DATE, 1);
            wrapper.le(SysLogEntity::getCreateTime, calendar.getTime());
        }
        Page<SysLogEntity> page = PageHelper.startPage(pageNum, pageSize).doSelectPage(() -> list(wrapper));
        return auditLogMapper.toDto(page.toPageInfo());
    }
//注:PageHelper是內(nèi)部的一個工具類,對數(shù)據(jù)進行分頁處理

有兩種辦法:

方案一:在xml文件中寫sql

業(yè)務層調(diào)用:(中間省略了dao)

    public PageInfo<SysLogEntity > selectLog(ConditionDTO conditionDTO, Integer pageNum, Integer pageSize) {
        Page<SysLogEntity> page = PageHelper.startPage(pageNum, pageSize).doSelectPage(() -> sysLogDao.sysAuditLogListByQueryConditions(conditionDTO));
        return auditLogMapper.toDto(page.toPageInfo());
    }

mapper.xml文件

    <insert id="addOne">
        insert into sys_log (id, `system`)
        values (#{SysLogEntity.id},#{SysLogEntity.system});
    </insert>

方案二:實體類@TableField中添加 ``(推薦)

這樣就支持mybatis-plus框架寫法

@Data
@TableName("sys_log")
public class SysLogEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 系統(tǒng)
     */
    @TableField("`SYSTEM`")
    private String system;
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL使用慢查詢?nèi)罩維low Log定位低效SQL的全過程

    MySQL使用慢查詢?nèi)罩維low Log定位低效SQL的全過程

    在 MySQL 數(shù)據(jù)庫運維中,SQL 語句的執(zhí)行效率直接影響系統(tǒng)響應速度,當網(wǎng)站出現(xiàn)卡頓、接口超時等問題時,慢查詢?nèi)罩荆⊿low Log) 往往是定位低效SQL的第一手證據(jù),本文給大家介紹了MySQL使用慢查詢?nèi)罩維low Log定位低效SQL的全過程,需要的朋友可以參考下
    2026-02-02
  • mysql.help_topic的作用以及使用方法

    mysql.help_topic的作用以及使用方法

    這篇文章主要給大家介紹了關于mysql.help_topic的作用以及使用方法,mysql.help_topic表是MySQL數(shù)據(jù)庫中的一個系統(tǒng)表,它存儲了MySQL數(shù)據(jù)庫中所有可用的幫助主題的信息,需要的朋友可以參考下
    2023-11-11
  • MySQL的批量更新和批量新增優(yōu)化方式

    MySQL的批量更新和批量新增優(yōu)化方式

    這篇文章主要介紹了MySQL的批量更新和批量新增優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • MySQL實現(xiàn)統(tǒng)計過去12個月每個月的數(shù)據(jù)信息

    MySQL實現(xiàn)統(tǒng)計過去12個月每個月的數(shù)據(jù)信息

    這篇文章主要介紹了MySQL實現(xiàn)統(tǒng)計過去12個月每個月的數(shù)據(jù)信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Windows(x86,64bit)升級MySQL 5.7.17免安裝版的詳細教程

    Windows(x86,64bit)升級MySQL 5.7.17免安裝版的詳細教程

    這篇文章主要介紹了Windows(x86,64bit)升級MySQL 5.7.17免安裝版的詳細教程,需要的朋友可以參考下
    2017-02-02
  • MySQL尾部空格處理方法詳解

    MySQL尾部空格處理方法詳解

    這篇文章主要介紹了MySQL尾部空格處理方法詳解的相關資料,通過創(chuàng)建合適的索引來實現(xiàn)區(qū)分有尾部空格和沒有尾部空格的字符串,需要的朋友可以參考下
    2023-07-07
  • MySQL的中文UTF8亂碼問題

    MySQL的中文UTF8亂碼問題

    MySQL從4.x版本開始支持Unicode,3.x只有l(wèi)atin1編碼。剛工作的時候就開始用MySQL了,用的php存取,網(wǎng)頁xxx.php是gb2312的編碼,存進去的數(shù)據(jù)用php取出來是中文,用phpMyAdmin執(zhí)行select、update、dump都是中文,沒有亂碼問題。
    2010-05-05
  • Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法

    Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法

    這篇文章主要介紹了Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的實現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-10-10
  • 如何修改MySQL字符集

    如何修改MySQL字符集

    這篇文章主要介紹了如何修改MySQL字符集,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • Linux?安裝?MySQL?8.0?及?配置方法

    Linux?安裝?MySQL?8.0?及?配置方法

    本文詳細介紹了在Ubuntu操作系統(tǒng)上使用MySQL?APT存儲庫安裝和配置MySQL?8.0的步驟,本文通過圖文示例相結(jié)合給大家講解的非常詳細,感興趣的朋友一起看看吧
    2024-11-11

最新評論

萝北县| 新竹市| 巫溪县| 什邡市| 临潭县| 南开区| 格尔木市| 增城市| 长沙市| 宜都市| 林州市| 武夷山市| 合川市| 阆中市| 京山县| 濉溪县| 平阴县| 新密市| 牡丹江市| 巍山| 格尔木市| 深圳市| 金湖县| 石嘴山市| 普陀区| 保山市| 象州县| 鄂伦春自治旗| 德令哈市| 昌吉市| 吴川市| 云林县| 琼海市| 葵青区| 津市市| 巩留县| 陈巴尔虎旗| 固阳县| 潢川县| 榕江县| 宝清县|