Merge pull request #977 from GeorgeYan/master

Fix: database define column different with query column
This commit is contained in:
astaxie
2018-04-20 17:00:15 +08:00
committed by GitHub
21 changed files with 42 additions and 42 deletions

View File

@@ -23,7 +23,7 @@ In the following sections, I'll use the same database table structure for differ
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -43,7 +43,7 @@ The following example shows how to operate on a database based on the `database/
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -19,7 +19,7 @@ We create the following SQL:
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
@@ -39,7 +39,7 @@ An example:
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -20,7 +20,7 @@ We create the following SQL:
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -53,7 +53,7 @@ An example:
fmt.Println("# Inserting values") fmt.Println("# Inserting values")
var lastInsertId int var lastInsertId int
err = db.QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId) err = db.QueryRow("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId)
checkErr(err) checkErr(err)
fmt.Println("last inserted id =", lastInsertId) fmt.Println("last inserted id =", lastInsertId)

View File

@@ -22,7 +22,7 @@ In the following sections, I'll use the same database table structure for differ
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -42,7 +42,7 @@ The following example shows how to operate on a database based on the `database/
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -19,7 +19,7 @@ We create the following SQL:
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
``` ```
@@ -39,7 +39,7 @@ An example:
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -20,7 +20,7 @@ We create the following SQL:
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -53,7 +53,7 @@ An example:
fmt.Println("# Inserting values") fmt.Println("# Inserting values")
var lastInsertId int var lastInsertId int
err = db.QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId) err = db.QueryRow("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId)
checkErr(err) checkErr(err)
fmt.Println("last inserted id =", lastInsertId) fmt.Println("last inserted id =", lastInsertId)

View File

@@ -22,7 +22,7 @@ En las siguientes secciones usaré las misma estructura de tablas para diferente
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -42,7 +42,7 @@ El siguiente ejemplo muestra como operar en bases de datos con los estándares d
checkErr(err) checkErr(err)
// insertar // insertar
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -19,7 +19,7 @@ Crearemos el siguiente SQL:
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
``` ```
@@ -39,7 +39,7 @@ Un ejemplo:
checkErr(err) checkErr(err)
// insertar // insertar
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -20,7 +20,7 @@ Crearemos el siguiente SQL:
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -53,7 +53,7 @@ Un ejemplo:
fmt.Println("# Inserting values") fmt.Println("# Inserting values")
var lastInsertId int var lastInsertId int
err = db.QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId) err = db.QueryRow("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId)
checkErr(err) checkErr(err)
fmt.Println("last inserted id =", lastInsertId) fmt.Println("last inserted id =", lastInsertId)

View File

@@ -20,7 +20,7 @@ GoではMySQLをサポートしたドライバが現在比較的多く、以下
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
) )
@@ -48,7 +48,7 @@ GoではMySQLをサポートしたドライバが現在比較的多く、以下
checkErr(err) checkErr(err)
//データの挿入 //データの挿入
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09") res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09")

View File

@@ -17,7 +17,7 @@ Goがサポートするsqliteのドライバも比較的多いのですが、大
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
@@ -44,7 +44,7 @@ Goがサポートするsqliteのドライバも比較的多いのですが、大
checkErr(err) checkErr(err)
//データの挿入 //データの挿入
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09") res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09")

View File

@@ -22,7 +22,7 @@ GoはPostgreSQLをサポートしたドライバも非常に多く実装され
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -51,7 +51,7 @@ package main
checkErr(err) checkErr(err)
//データの挿入 //データの挿入
stmt, err := db.Prepare("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) RETURNING uid") stmt, err := db.Prepare("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) RETURNING uid")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09") res, err := stmt.Exec("astaxie", "研究開発部門", "2012-12-09")

View File

@@ -23,7 +23,7 @@ In the following sections, I'll use the same database table structure for differ
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -43,7 +43,7 @@ The following example shows how to operate on a database based on the `database/
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -19,7 +19,7 @@ We create the following SQL:
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
@@ -39,7 +39,7 @@ An example:
checkErr(err) checkErr(err)
// insert // insert
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -20,7 +20,7 @@ We create the following SQL:
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -53,7 +53,7 @@ An example:
fmt.Println("# Inserting values") fmt.Println("# Inserting values")
var lastInsertId int var lastInsertId int
err = db.QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId) err = db.QueryRow("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId)
checkErr(err) checkErr(err)
fmt.Println("last inserted id =", lastInsertId) fmt.Println("last inserted id =", lastInsertId)

View File

@@ -23,7 +23,7 @@
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -44,7 +44,7 @@
checkErr(err) checkErr(err)
// вставка // вставка
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -19,7 +19,7 @@ SQLite это открытая встраиваемая реляционная
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
@@ -39,7 +39,7 @@ SQLite это открытая встраиваемая реляционная
checkErr(err) checkErr(err)
// вставка // вставка
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -20,7 +20,7 @@ PostgreSQL - свободная объектно-реляционная сист
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -54,7 +54,7 @@ PostgreSQL - свободная объектно-реляционная сист
fmt.Println("# Inserting values") fmt.Println("# Inserting values")
var lastInsertId int var lastInsertId int
err = db.QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId) err = db.QueryRow("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) returning uid;", "astaxie", "研发部门", "2012-12-09").Scan(&lastInsertId)
checkErr(err) checkErr(err)
fmt.Println("last inserted id =", lastInsertId) fmt.Println("last inserted id =", lastInsertId)

View File

@@ -21,7 +21,7 @@ Go中支持MySQL的驱动目前比较多有如下几种有些是支持data
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
@@ -51,7 +51,7 @@ func main() {
checkErr(err) checkErr(err)
//插入数据 //插入数据
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -18,7 +18,7 @@ Go支持sqlite的驱动也比较多但是好多都是不支持database/sql接
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT, `uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL, `username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL, `department` VARCHAR(64) NULL,
`created` DATE NULL `created` DATE NULL
); );
@@ -47,7 +47,7 @@ func main() {
checkErr(err) checkErr(err)
//插入数据 //插入数据
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)") stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")

View File

@@ -23,7 +23,7 @@ CREATE TABLE userinfo
( (
uid serial NOT NULL, uid serial NOT NULL,
username character varying(100) NOT NULL, username character varying(100) NOT NULL,
departname character varying(500) NOT NULL, department character varying(500) NOT NULL,
Created date, Created date,
CONSTRAINT userinfo_pkey PRIMARY KEY (uid) CONSTRAINT userinfo_pkey PRIMARY KEY (uid)
) )
@@ -56,7 +56,7 @@ func main() {
checkErr(err) checkErr(err)
//插入数据 //插入数据
stmt, err := db.Prepare("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) RETURNING uid") stmt, err := db.Prepare("INSERT INTO userinfo(username,department,created) VALUES($1,$2,$3) RETURNING uid")
checkErr(err) checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")