dovrei leggere una tabella e la scrivo su un'altra
« il: Settembre 08, 2021, 21:59 »
Ho un problema con Python e mysql.
Non ho problemi a leggere una tabella "TAB1" e dovrei scriverla in "TAB2" con piccole modifiche.
Ho provato per ora semplicemente a fare un esempio leggendo la tabella1 (con fetchone()  ) scrivendo cose casuali nella TAB2.
Vi riporto le tabelle:
CREATE TABLE `TAB1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `c1` varchar(100) DEFAULT NULL,
  `c2` year(4) DEFAULT NULL,
  `c3` varchar(100) DEFAULT NULL,
  `c4` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
la TAB2 è identica
Il programma che ho scritto:
from mysql.connector import connect, Error

try:
    with connect(
        host="192.168.1.75",
        user="masmas",
        password="masmas",
        database="online_movie_rating",
    ) as connection:
        sql_r = "SELECT id, c1,c2,c3,c4 \
                    FROM online_movie_rating.TAB1"
        mycursor = connection.cursor()
        mycursor.execute(sql_r)
        row = mycursor.fetchone()
        print (row)                                           #fino qui non ci sono problemi stampa il primo record presente in TAB1
       
        #mycursor1 = connection.cursor()       # se questa istruzione è inserita da errore  "Unread result found"
        sql_w = "INSERT INTO TAB2 \
        (title, release_year, genre, collection_in_mil) \
        VALUES (%s,%s,%s,%s)"
        val = ("3 idoti", 2000, "Dramma", 2.9)
        mycursor.execute(sql_w,val)                # togliendo la riga mycursor1 qui da errore "Unread result found"
       
        connection.commit()
        print(mycursor.rowcount, "record inseriti.")
    
except Error as e:
    print("errore :",e); 

Qualcuno saprebbe darmi una mano?
Grazie infinite