รันโค้ด Python เพื่อดึงข้อมูลจาก MySQL พอรันแล้วขึ้น Error mysql.connector.errors.ProgrammingError: 1146 (42S02): Table 'db_example.book' doesn't exist แบบนี้เกิดจากอะไร ฐานข้อมูลชื่อ db_example และตารางชื่อ tb_book
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='localhost', database='db_example', port=3306)
cur = cnx.cursor()
sql = " SELECT * FROM book "
cur.execute( sql )
records = cur.fetchall()
for row in records:
print(row[0])
print(row[1])
print(row[2])
print("\n")
cnx.close()
วิธีแก้ไข
ปัญหานี้เกิดจากไม่พบตารางข้อมูลชื่อ book ในฐานข้อมูล db_example ให้ดำเนินการเปลี่ยนชื่อตารางข้อมูลตรงคำสั่ง SELECT * FROM book เป็นตารางที่มีอยู่ในฐานข้อมูล db_example คือ tb_book ดังนี้
sql = " SELECT * FROM tb_book "