Hai qualcosina da rivedere nella tua struttura.

il campo text e' di dimensione max fissa a 64kb. e' un campo dinamico, cioe' occupa solo lo spazio per la stringa inserita piu' 3 byte. Quindi TEXT non accetta un valore esempio tipo VARCHAR(50).

I numeri tra parentisi nei campi di tipo INT (tutti quelli usati da te) servono a definire il numero max di digit visualizzabili e non come limitatori di capienza. Questa e' fissa. Vedi il manuale

Predefinito o default e' il valore che viene immesso in mancanza di altre indicazioni specifiche sul valore da inserire.

I campi numerici non vanno bene per inserire i dati previsti da te:


4. Il campo “img” serve per inserire un url completo ad una immagine
---> questo deve essere un campo VARCHAR

5. Il campo “attivo” mi servirebbe per fare qualcosa tipo “si/no” di access. E giusto così?
---> sarebbe piu' corretto tinyint(1)

6. Il campo “url” mi serve per una url completa ad un certo prodotto
---> Anche questo dovrebbe essere un campo varchar

il campo prezzo (per euro) dovrebbe essere FLOAT, oppure DECIMAL (vedi il manuale ) con due decimali. Il decimale deve essere separato dal punto e non dalla virgola.