--- dbf2mysql.c.orig	Tue Mar 18 11:43:54 2003
+++ dbf2mysql.c	Tue Mar 18 11:43:25 2003
@@ -230,8 +230,19 @@
 	  case 'N':
 	    if (dbh->db_fields[i].db_dec != 0) {
 		strcat(query, " real");	/* decimal the better choice? */
-	    } else {
+	    } else if (dbh->db_fields[i].db_flen < 3) {
+		strcat(query, " tinyint");
+	    } else if (dbh->db_fields[i].db_flen < 5) {
+		strcat(query, " smallint");
+	    } else if (dbh->db_fields[i].db_flen < 7) {
+		strcat(query, " mediumint");
+	    } else if (dbh->db_fields[i].db_flen < 10) {
 		strcat(query, " int");
+	    } else {
+		strcat(query, " bigint");
+			if (dbh->db_fields[i].db_flen > 18) {
+		  printf("The converted field, %s, can only hold values in the range (-2^63) - (2^63 - 1). Values greater than such will be clipped.\n", dbh->db_fields[i].db_name);
+			}
 	    }
 	    break;
 
