The San Francisco Giants had already watched Mark McGwire wreck them once. They weren't about to let it happen again.

After McGwire hit a tying home run in the 12th, the Giants intentionally walked him with two outs and none on in the 14th. San Francisco went on to win 9-6 in 17 innings Sunday, the longest game in the majors this season.Barry Bonds hit a two-out, two-run homer in the Giants ninth that tied it at 4. Jeff Kent put San Francisco ahead 6-4 with a two-run homer in the 12th, but McGwire tied it with two outs when he hit his major league-leading 24th homer off Robb Nen.

The Giants took advantage of a two-base throwing error by Kent Mercker (3-3) in the 17th. The longest previous game this year was 16 innings between Pittsburgh and San Diego on April 25.

The game lasted 5 hours, 45 minutes, topping the previous long of 4:54 when Minnesota played at Tampa Bay on April 13.

Jim Poole (1-1) allowed two hits in four scoreless innings. Steve Reed finished for his first save.

McGwire's home run kept alive the Cardinals' club-record streak of homering in 16 consecutive games. He also tied Ken Griffey Jr.'s major league record for most home runs by the end of May.

In the 14th, Poole retired the first two batters before taking no chances with McGwire and giving him first base. Ray Lankford followed with a single before Poole struck out Willie McGee.

METS 8, BREWERS 3: It didn't take long for Mike Piazza to transform Shea Stadium into a jumpin' joint.

With the All-Star catcher the main attraction, the Mets drew a sellout crowd at home for the first time in five years and beat Milwaukee on Brian McRae's go-ahead, three-run double and Carlos Baerga's two-run homer.

Piazza, in his second game since the Mets acquired him from Florida on Friday, was 1-for-5. But his presence was larger - he drew huge cheers and some standing ovations whenever his name was announced.

The crowd of 47,291 - about 8,500 bought tickets from Friday on - was the first full house at Shea since the 1993 season opener against Colorado drew 53,134. Fans unable to get in packed the subway platform behind the right-field fence and watched from there.

EXPOS 5, PHILLIES 4: Tyler Green lost his bid for a perfect game in the seventh inning, and Philadelphia lost on pinch-hitter Robert Perez's sacrifice fly in the eighth.

Green retired the first 18 batters, then hit Jose Vidro with a pitch leading off a three-run seventh. Mark Grudzielanek followed with a sacrifice bunt that Green threw away for an error, and Vladimir Guerrero hit an RBI single.

Scott Rolen hit a three-run homer in the eighth that put the Phillies ahead 4-3.

Carlos Perez (4-3) pitched eight innings and won his fourth straight start. Ugueth Urbina worked the ninth for his 11th save.

Jerry Spradlin (2-2) took the loss.

ROCKIES 3, REDS 1: Bobby Jones allowed only two hits in seven innings and Larry Walker extended his hitting streak to 19 games, longest in the majors this season.

Slumping Vinny Castilla hit a tiebreaking, two-run single in the sixth inning, setting up the Reds' seventh loss in nine games. The Reds committed another error - their major league-leading 48th - and misjudged a fly ball that figured in the Rockies' scoring.

Cincinnati had only two baserunners and one of them was erased on a double play. The Reds sent 28 batters to the plate, one over the minimum.

Jones (1-0) didn't allow a ball hit out of the infield in the first three innings and faced only 22 batters in the first seven.

Brett Tomko (5-3) was the loser.

BRAVES 2, CUBS 1: Tom Glavine pitched a three-hitter and Michael Tucker singled home the winning run in the ninth inning off Terry Adams (2-3).

Glavine (7-2) struck out 10 in his first complete game of the season. He gave up a leadoff homer to Manny Alexander, then retired 27 of the next 30 batters.

Glavine won his third consecutive start and improved to 12-6 lifetime against the Cubs. Atlanta's starting rotation is 29-7 this season - earlier in the day, John Smoltz was placed on the 15-day disabled list because of a sore right elbow.

MARLINS 4, PIRATES 3: Cliff Floyd hit a two-run double in the eighth inning off Jason Christiansen (0-1) as Florida rallied from a 3-0 deficit.

Floyd and Edgar Renteria both went 2-for-4 for the Marlins, who overcame a 3-0 deficit.

Jermaine Allensworth had two hits and drove in a run for Pittsburgh.

Jay Powell (4-2) pitched the final two innings in relief for the win.