Resolving our issues with Mexico will be a process. I always felt the best way to stop people from coming into the US from Mexico is to make the Mexican economy stronger. But to find a way to do it that won't be at the expense of American workers. But that may take a change in the National Culture of Mexico to make that happen.
We have always treated Mexico like that irresponsible and selfish little sibling that the older ones always cover for and let get away with things they never should. They are practically a narco-state one step short of Columbia while the 1% owns something like 95% of the assets of the nation.
Yet, they have some of the strictest immigration laws in the world, while demanding open borders (or none at all) with the USA while on their southern border they want to build a wall to keep out Central American immigrants.
It's time to bend them over our knee and beat their little spoiled ass, starting with a reciprocal immigration agreements and equalizing trade standards next round of negotiation. We also tell them that if they don't get their narco trade under control, we will treat them like a territory and not a nation, and send our military in any time we please to deal with the drug lords. And if their military gets in the way we will mow them down, and start a war if that's what it takes.
There is a reason the rest of Latin America thinks Mexico is a trashy redneck country of little children. They need tough love more than anything, and a good boxing of the ears.