I had created a field in the class Page(Page.php) as
"LinkTo" => "SiteTree"
which already exists in RedirectorPage
Even after removing the line of code and building the database, the field still exists in Page and Page_live which is giving me an error while publishing...no error while saving to draft...and the content gets saved...the success message is not displayed and Firebug console: Response: There has been an error
Is the field not removed from these tables even after building the database?
Yes unused fields are not removed when the database is rebuilt. I guess the reasoning behind it is that you might still have important data in them. You need to manually remove the fields. I usually use phpmyadmin to do so.