I think the main problem is as trump said "hey're sending people that have lots of problems, and they're bringing those problems with us. They're bringing drugs. They're bringing crime." We need good people to come over here.
On that note we have to ask the question why are they running over here? Well Mexico is a shithole with a corrupt as all hell government. That needs to change. People need to revolt and take back their country. They won't do that if we keep giving them a way out.
the main problem is that they don't bring those problems with us. they literally help an entire economy of american owned business to exist, they do the work you don't want to do and even though they're illegal, they somehow manage to pay their damn taxes more thoroughly than the average american.
mexico isn't a shithole, but even working below minimum wage in america offers better opportunity to make a live in mexico than staying in mexico.
changing governments or even having every drug, addict and lord disappear overnight is not going to change that fact.
crossing borders to get to better jobs and more money is among the most natural thing for literally any people living near any border. people cross statelines for better wages, they go from germany to austria in the morning and back in the evening for better working hours etc etc.
as you might have noticed in your own country, just paying people better is not an option. its bad for the economy after all. lowering them, now thats a way to go. as long as that remains a truth, and until american wages fall below mexican wages, there will always be people who'll try their luck crossing a border. even if, other than wages, they'b be living in literal christian heaven, they'd cross over to texas so they can build a slightly bigger house or support one more old family member over in heavenstreet 44