• MySQL使用关键字做表名和列名的坑【解决方案】


    【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

    博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

    吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…

    业务场景

    在这里插入图片描述

    最近碰到过一个member表,执行SELECT count(*) FROM member报错

    CREATE TABLE `member` (
      `member_account` int(11) NOT NULL COMMENT '会员账号',
      `member_password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '123456' COMMENT '会员密码',
      `member_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '会员姓名',
      `member_gender` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '会员性别',
      `member_age` int(11) DEFAULT NULL COMMENT '会员年龄',
      `member_height` int(11) DEFAULT NULL COMMENT '会员身高',
      `member_weight` int(11) DEFAULT NULL COMMENT '会员体重',
      `member_phone` bigint(20) DEFAULT NULL COMMENT '会员电话',
      `card_time` date DEFAULT NULL COMMENT '办卡时间',
      `card_class` int(11) DEFAULT NULL COMMENT '购买课时',
      `card_next_class` int(11) DEFAULT NULL COMMENT '剩余课时',
      PRIMARY KEY (`member_account`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    效果演示

    在这里插入图片描述


    解决方案

    MySQL 8.0以上版本使用member 作为表名时 表明必须得带反单引号`

    在这里插入图片描述

    这里也是告诉我们尽量避免取关键字作为表名,列名!非常坑


    拓展补充

    之前还遇到过类似的,我们经常把描述字段取列名为 desc

    create table test (id int auto_increment primary key, desc varchar(10))
    
    • 1

    在这里插入图片描述
    创表语句中的 desc 字段就是sql关键字

    如果想创建成功解决方案:需要在字段前后加上这两点即可

    create table test (id int auto_increment primary key, `desc` varchar(10));
    
    • 1

    在这里插入图片描述

    执行效果

    在这里插入图片描述

    MySQL中desc命令的两个用法!

    在这里插入图片描述
    语法

    desc table_name;
     
    PS:此处descdescribe的缩写,用法: desc 表名/查询语句 
    
    • 1
    • 2
    • 3

    执行效果

    在这里插入图片描述
    desc降序排列数据

    SELECT member_name,member_age FROM  `member`  ORDER BY  member_age desc
    
    PS:此处desc是descend的缩写, 用法:select * fromorder by 字段 desc
    
    • 1
    • 2
    • 3

    执行效果

    在这里插入图片描述

    避坑指南MySQL建表字段不要使用保留字或关键字


    📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

    📚愿我们奔赴在各自的热爱里!

  • 相关阅读:
    NANK新旗舰首发!南卡Pro4骨传导耳机配置新升级!新的音质天花板
    UBI文件系统的使用
    判断是否是因果稳定系统的应用
    Pytorch CIFAR10图像分类 Vision Transformer(ViT) 篇
    ToBeWritten之记录狩猎过程
    代码随想录第38天 | ● 完全背包 ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
    骑士精神 ← IDA*
    【算法实战】每日一题:17.1 订单处理问题(差分思想,二分搜索)
    大佬的职场经验
    华为云低代码技术:让矿区管理“智变”,一览无遗
  • 原文地址:https://blog.csdn.net/weixin_45393094/article/details/127673538