• mysql出现 Unknown column 'bname' in 'where clause'和Unknown column 'bid' in 'field list'


    在用mysql数据库建表和修改数据库数据时,出现  Unknown column 'bname' in 'where clause'和Unknown column 'bid' in 'field list'。

    除了网友提供的诸多种情形和解决方案,答主列举一种特殊的,由懒而生的一个出错情景:

     

    首先创建了一张bank表,插入了2条数据,用select语句查询如下图所示

     原本是想修改一条数据的,但是发现报了一个错: Unknown column 'bname' in 'where clause'

     

    然后再用select去查表中字段,也报了一个错:Unknown column 'bid' in 'field list'

     

    但是用show tables 和select * from bank;这两条命令都能查到表和表中数据。在网上搜了一下,什么字符编码不匹配、加双引号什么的都试了一遍,还是没有解决。

    还是旁边的同事提了一嘴,手动再创建一张一样的表,再去查。

    最终发现了问题:将建表语句直接复制黏贴在命令行执行,命令会多一些空行,命令行是识别不了的,自然你创建的字段就不是原来的字段了,而是“若干空格+字段”的全新字段,用建表语句中的字段去查,就查不到了。现象如下:

    用show create table bank;命令去查看建表语句,可以看到bid字段完整的形式是‘    bid’,前面有若干空格。再用bid去查自然查不到,会报错。

     命令行执行建表和crud操作,建议还是手动敲命令执行。

    复制有风险,黏贴需谨慎!!!

  • 相关阅读:
    Angular2与Angular1的区别
    JS的浅拷贝与深拷贝
    浅谈js的事件冒泡和事件捕获
    JS中的call、apply、bind方法
    WEB前端性能优化常见方法
    开放定址法——线性探测(Linear Probing)
    分离链接法(Separate Chaining)
    概观散列函数
    散列——动机引入
    AVL重平衡细节——插入
  • 原文地址:https://www.cnblogs.com/hejh/p/10751531.html
Copyright © 2020-2023  润新知