Most human food, unless it's prepared specifically for dogs (without spices), is not good for dogs. It's too high in fat, salt, and sugar.
You need to employ some "tough love" with your dog. Put him in another room with the door closed, or in a crate while you eat, to keep him from begging at the table. Our dogs are required to lay on their beds while we eat. If they don't stay away from the table, they are put in their crates until we're done. It's not mean; it just teaches them proper manners. Trust me, we LOVE our dogs!
I took in my MIL's very spoiled, very obese 7 year old cockapoo a couple of years ago when she went to live with one of her other sons. Rosie had been fed nothing but fresh boiled chicken and Milk Bones by my MIL, because "she liked them" - talk about an unbalanced diet... Rosie looked like a swollen tick when we got her (double her optimum weight), and had AWFUL manners (we're talking jumping up on and walking around on tables bad manners...). The rest of the family wanted to put her down, she was so bad; the son that took my MIL in refused to have her in his house. I took her, and immediately switched her over to a very high quality, high protein, low fat dog food, along with some no-salt green beans (for filling fiber). Rosie responded by refusing to eat. I waited her out and she finally decided that the dog food looked pretty darn good after the third day of her hunger strike! A healthy dog won't starve itself, trust me. Once Rosie had some structure/training in her life, she turned out to be a GREAT dog; very smart and loving! I found her a great home after her stay at "Beth's Camp" (as the other family members called it - lol), and her new people love her to death.
Don't be afraid to set limits for your dog. It doesn't mean you don't love him! In fact, it's quite the opposite.