我正在 Spring Boot 應用程式中使用記憶體 h2 資料庫運行一些單元測驗。同時與記憶體中的 h2 資料庫互動,我創建了一些用戶并授予他們一些權限。我可以看到用戶正在成功創建(我假設它是因為命令成功執行而沒有任何問題并且授予權限命令也成功執行。)。我想列出當前存在于資料庫中的所有現有用戶,并希望與我創建的那些用戶斷言結果。
我知道我們使用資料庫查詢列出了 mySql 資料庫中的所有用戶:
select * from mysql.user
我只想實作同樣的事情,但在記憶體中使用 h2 資料庫。有誰知道如何在記憶體資料庫中獲取 h2 中所有用戶的串列。
我正在嘗試此查詢,select * from users但系統拋出例外,指示用戶表不存在。有沒有辦法讓h2資料庫中的所有用戶?
我嘗試過 show 命令,但show tables只列出了由我的應用程式創建的那些表。我自己沒有創建任何用戶表,我假設記憶體中的 h2 將有任何表保存用戶資訊,就像 mysql.user 表一樣。show schemas還顯示我的資料庫已經在 h2 記憶體資料庫中創建。
謝謝你。
uj5u.com熱心網友回復:
正如評論中所指出的:您確實在 INFORMATION_SCHEMA 模式下找到了 USERS 表。因此,您必須查詢:
select * from INFORMATION_SCHEMA.USERS;
DBMS 組織其內部配置的方式與 DBMS 到 DBMS 大不相同。正如您所說,在 mysql 中,有用戶表mysql.users(據我所知,至少對于 MariaDB),而對于 H2,則在INFORMATION_SCHEMA.USERS.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/372280.html
