Umm... you can run from a guy with a knife. You cannot outrun a bullet. You cannot spray a room with knives. You can with a gun.
If it were possible to force kids to use knives or other melee weapons, that would be a good thing.
But come on, we all know that the real answer is to just arm all the students so they'll be able to take an attacker themselves. At least according to the the gun nuts.