forループでカーソルを実行すると、次のエラーが発生します。ここでPython/MySQLがエラーを返します: - TypeError: 'int'オブジェクトが反復可能ではありません
Traceback (most recent call last):
File "mysql_select_query.py", line 35, in <module>
for row in cur.execute(sql_select):
TypeError: 'int' object is not iterable
はエラーを与える私のコードです:
sql_select = "SELECT * FROM T_EMP"
for row in cur.execute(sql_select):
print("{}, {}, {}, {}".format(row[0], row[1], row[2], row[3]))
私は&使用はfetchAll()を実行したときにそれがうまく機能:
sql_select = "SELECT * FROM T_EMP where ID>%s"
rows = cur.execute(sql_select, [0])
for row in cur.fetchall() :
print("{}, {}, {}, {}".format(row[0], row[1], row[2], row[3]))
私のMySQLのテーブルのスキーマを:
mysql> desc T_EMP;
+------------+-------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+-------------------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| CREATED | timestamp | NO | | CURRENT_TIMESTAMP | |
| EMP_CODE | varchar(20) | YES | | NULL | |
| USER_ID | int(11) | YES | | NULL | |
| FIRST_NAME | varchar(50) | NO | | NULL | |
| LAST_NAME | varchar(50) | NO | | NULL | |
| DEPT_ID | int(11) | YES | | NULL | |
| ADDR_ID | int(11) | YES | | NULL | |
+------------+-------------+------+-----+-------------------+----------------+
8 rows in set (0.00 sec)
任意のc lueは感謝しています。
ありがとうございました。
彼に「なぜ」を理解させる方が良いですか?問題の中に書かれたことを他の言葉で再記述するだけではありません。 – YEH
私はそれを得た。ありがとう。 – KiranM