首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MySQL 表明明存在 DESC 卻提示不存在:表名尾部數字 1 與小寫 l 混淆

     編輯:程式設計疑難解答

現象

SHOW TABLES 顯示有表 `t_userl`(尾部是小寫 L),但執行 DESC t_user1(尾部是數字 1)報錯「Table doesn't exist」。

原因

**字體渲染導致視覺混淆**:
- 表實際名:`t_userl` ( ... **l** )
- 輸入命令:`t_user1` ( ... **1** )

MySQL 區分大小寫(Linux 下表名區分),`l` ≠ `1`。

驗證方法

SHOW TABLES LIKE 't_user%'; -- 列出真實表名
SELECT TABLE_NAME, HEX(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME LIKE 't_user%';
-- HEX 可清晰看到字符編碼:6C (l) vs 31 (1)

避坑建議

  • 命名規範:表名**不以純數字或易混淆字符結尾**,推薦下劃線分隔:`t_user_log`、`t_user_1`。
  • 終端設置等寬字體(如 Consolas、Fira Code、Source Code Pro),`1`、`l`、`I`、`|` 明顯區分。
  • 複製表名時用 `SHOW TABLES` 結構化輸出,避免手工輸入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved