魏惠王迁都的原因主要有两种:一是为躲避强秦的骚扰;二是为争霸中原。
《史记》记载的迁都时间为魏惠王三十一年,即公元前339年。迁都的原因是当时秦、赵、齐联合进攻魏国,商鞅施诡计俘获魏将公子印,大败魏军并且攻占了魏国的旧都安邑,魏惠王被迫迁都。因为这种说法为《史记》所首倡,所以对后世影响很大,后来在《资治通鉴》中也得以延袭。
然而,根据《史记》记载,魏惠王十七年(公元前353年)魏国派重兵围赵都邯郸,第二年齐国派田忌、孙膑率军救赵。田忌打算直接进入赵国攻击魏军,孙膑则建议利用大梁城内空虚之机,“引兵疾走大梁”,迫使魏军撤军自救,以解邯郸之围。田忌采纳了孙膑建议,魏军果然回师自救。