If I create a script that inserts a new row into the database then reusing the script will insert a duplicate row, correct? This will make vaslidating the test ackward as the row counts grow over time as each test is run.
Is there a method to rollback the database to a known state so this issue can be avoided?
There are tools available that can refresh a DB to a known starting point. Also if your needs and DB are finite (small), you could write some SQL to delete records. Some things could be done generically if your tables have create/update date/time stamps and if you have exclusive access to the DB.