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操作,建議還是手動敲命令執行。

 

 

復制有風險,黏貼需謹慎!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM