zoukankan      html  css  js  c++  java
  • MySql Unknown column 的解决方案

    解决方案:

    有很多使用Mysql的用户可能都会遇到这个问题,明明表中这个列存在,为什么在查询的时候说找不到这个列名呢?

    我遇到的原因就是列名前面含有空格:如下

    create table students(
       sid int,
       _math decimal(9,2),
       english varchar(3)
     );
    
    insert into students values(1,50,'50'),(2,70,'70'),(3,80,'80'),(4,null,'80'),(5,80,null),(6,null,null);
    mysql> select * from students;
    +---------+-----------+-------------+
    |   sid |   _math |   english |
    +---------+-----------+-------------+
    |       1 |     50.00 | 50          |
    |       2 |     70.00 | 70          |
    |       3 |     80.00 | 80          |
    |       4 |      NULL | 80          |
    |       5 |     80.00 | NULL        |
    |       6 |      NULL | NULL        |
    +---------+-----------+-------------+
    select * 不容易看出问题,我们用show create来看一下:
    | students | CREATE TABLE `students` (
      `  sid` int(11) DEFAULT NULL,
      `  _math` decimal(9,2) DEFAULT NULL,
      `  english` varchar(3) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    每个列名前面多了很多空格。
    解决方案,删除表重建:
    drop table students;
    
    
    错误原因:
    1、很可能你创建表的代码是copy的网上的。例如我上面输入的那个创建表的语句就会出现问题。
    2、你的编辑器识别成了中文空格。
    一般在记事本中输入是不会出现这种问题的。

    Mysql5.x手册 http://doc.mysql.cn/
    Mysql官网 http://dev.mysql.com/
    Mysql5.7参考手册 http://dev.mysql.com/doc/refman/5.7/en/
    其他参考手册
    CSDN-Mysql知识库

    author: liuning

  • 相关阅读:
    idea 中的new file 没有jsp
    springboot-helloworld-idea
    springboot-RequestMappingHandlerMapping
    swagger-注解
    springboot-mybatis
    js-dialog
    js-jsTree
    maven-tomct插件
    maven-插件地址
    docker入门 基础命令 docker安装
  • 原文地址:https://www.cnblogs.com/liun1994/p/5521190.html
Copyright © 2011-2022 走看看