亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

老版本mysql的報錯:ERROR 1046 (3D000): No database selected(BUG)怎么解決

發布時間:2021-09-16 16:25:46 來源:億速云 閱讀:501 作者:chen 欄目:MySQL數據庫

本篇內容主要講解“老版本mysql的報錯:ERROR 1046 (3D000): No database selected(BUG)怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“老版本mysql的報錯:ERROR 1046 (3D000): No database selected(BUG)怎么解決”吧!


開發給到一條sql,要對項目的各個庫做批量的update,寫在腳本里之后,執行時發現失敗,報錯
ERROR 1046 (3D000): No database selected,發現有指定庫名,產生疑問。
確定已經指定庫名之后,然后改寫成select做了查詢,發現依然報這個錯。
老版本mysql的報錯:ERROR 1046 (3D000): No database selected(BUG)怎么解決

再細看sql,發現unhex函數的寫法不嚴謹,即括號沒有緊跟,
也就是說,需要用unhex()替代unhex ()。

繼續做了個測試,發現報錯信息相同,但是毫不相干:
既然是函數寫法不規矩,怎么和是否選擇數據庫有關?

  1. mysql> SELECT NOW ();

  2. ERROR 1046 (3D000): No database selected


確定了一下DB版本:

  • mysql> SELECT version();

  • +-----------------------+

  • | 5.0.51a-24+lenny2-log | 

  • +-----------------------+

  • 1 row in set (0.00 sec)

遠古版本,估計bug較多,換了一個mysql5.5的版本做測試:
發現報錯正常:

  1. mysql> SELECT NOW ();

  2. ERROR 1305 (42000): FUNCTION now does not exist


大概猜測是老版本(mysql5.0)的一個BUG。5.1未做測試。

但無論是否是老版本還是新版本,函數名后不緊跟括號都會報錯,只不過5.0拋出的錯誤比較奇葩,讓人看不懂。
當然,在sql_mode里添加“IGNORE_SPACE”既可以忽略此類問題,但是不推薦:

  1. mysql> SELECT VERSION();

  2. +-----------------------+

  3. | VERSION()             |

  4. +-----------------------+

  5. | 5.0.51a-24+lenny2-log | 

  6. +-----------------------+

  7. 1 row in set (0.00 sec)



  8. mysql> SELECT NOW ();   

  9. ERROR 1046 (3D000): No database selected



  10. mysql> SHOW VARIABLES LIKE 'sql_mode';

  11. +---------------+-------+

  12. | Variable_name | Value |

  13. +---------------+-------+

  14. | sql_mode      |       | 

  15. +---------------+-------+

  16. 1 row in set (0.00 sec)



  17. mysql> SET @@session.sql_mode='IGNORE_SPACE';

  18. Query OK, 0 rows affected (0.00 sec)



  19. mysql> SELECT NOW ();     

  20. +---------------------+

  21. | NOW ()              |

  22. +---------------------+

  23. | 2016-03-18 02:00:14 | 

  24. +---------------------+

  25. 1 row in set (0.00 sec)


到此,相信大家對“老版本mysql的報錯:ERROR 1046 (3D000): No database selected(BUG)怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈丘县| 双牌县| 吴桥县| 栾川县| 桂林市| 桦南县| 潜山县| 大城县| 甘洛县| 潢川县| 西青区| 万源市| 綦江县| 和平区| 门头沟区| 应城市| 吉隆县| 阳原县| 上虞市| 浦县| 邵阳县| 嘉黎县| 开远市| 龙川县| 漯河市| 肥城市| 长岭县| 峡江县| 固安县| 黔江区| 泗洪县| 新竹县| 田东县| 宁化县| 克拉玛依市| 东安县| 栾川县| 天峻县| 淄博市| 台南县| 五原县|