It *SHOULD* look like that.
Any AUTO_INCREMENT field is one that MySQL fills in the value for you.
You should *NOT* assign a value to that field!
In other words, your SQL should look like this:
I always use the first form. It's clearer, to me, to simply not even mention the auto_increment field than it is to name it and then need to assign NULL to it.
/* don't even mention the imgID column */
INSERT INTO product_images( productid, imgName ) VALUES( 1, 'bench1.jpg' )
/* mention it, but assign NULL to it */
INSERT INTO product_images( imgID, productid, imgName ) VALUES( NULL, 1, 'bench1.jpg' )
or (not recommended, but legal)
/* if you don't name the columns, then you must assign a value to each and every one, so you need NULL for imgID */
INSERT INTO product_images VALUES( NULL, 1, 'bench1.jpg' )