Python3
Python
1import pymysql 2 3cnct = pymysql.connect(host="localhost", user="root", password="root") 4cur = cnct.cursor()
と記述して、後からデータベース名を決定・テーブル名取得しようと
Python
1cnct.db = "testdb" # データベース決定 2#cur = cnct.corsor() # これを有効化してもだめっぽい 3cur.execute("SHOW TABLES;") # テーブル名取得 4tables = cur.fetchall() 5print(tables)
としたところ
$ python3 / Users/USER/Desktop/test.py Traceback(most recent call last): File "/Users/USER/Desktop/test.py", line 7, in < module > cur.execute("SHOW TABLES;") # テーブル名取得 File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/cursors.py", line 163, in execute result = self._query(query) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/cursors.py", line 321, in _query conn.query(q) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/connections.py", line 505, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/connections.py", line 724, in _read_query_result result.read() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/connections.py", line 1069, in read first_packet = self.connection._read_packet() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/connections.py", line 676, in _read_packet packet.raise_for_error() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/protocol.py", line 223, in raise_for_error err.raise_mysql_exception(self._data) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pymysql/err.py", line 107, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (1046, 'No database selected')
となったのですが、あとからデータベースを決めることはできないのでしょうか?
それとも con.db = "testdb" だけでは足りないのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。