database/sql: force users of NamedParam to name struct literals fields

Or they can use sql.Param instead.

Change-Id: Icf21dbcc87170635c3f5d3f49736429a37abe9da
Reviewed-on: https://go-review.googlesource.com/33576
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
Reviewed-by: Minux Ma <minux@golang.org>
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go
index a02aa35..2a9ae0b 100644
--- a/src/database/sql/sql.go
+++ b/src/database/sql/sql.go
@@ -72,6 +72,8 @@
 // NamedParam may be passed into query parameter arguments to associate
 // a named placeholder with a value.
 type NamedParam struct {
+	_Named_Fields_Required struct{}
+
 	// Name of the parameter placeholder. If empty the ordinal position in the
 	// argument list will be used.
 	Name string