91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

老版本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

安图县| 达州市| 巴东县| 元阳县| 育儿| 读书| 定日县| 古田县| 新疆| 连州市| 奈曼旗| 肥乡县| 陆川县| 朔州市| 孟津县| 灵台县| 广昌县| 加查县| 托克托县| 德安县| 韶关市| 砚山县| 额敏县| 承德市| 那曲县| 尼木县| 拉萨市| 乐至县| 宜章县| 广昌县| 古交市| 神木县| 凤台县| 丰台区| 宁陵县| 卢龙县| 桃江县| 门头沟区| 奉节县| 深泽县| 崇义县|