不是go 错了 是你的 @a varchar(50) 没指定大小吧 试试看
创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!创新互联公司具备承接各种类型的网站制作、网站建设项目的能力。经过十多年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。
没看清楚 看了一眼 以为你在存储过程那 go是用来连接的两个语句块的
就是说用来连接两个可以独立运行的语句 你的去掉GO就可以了 用GO一般用来标明先后顺序,就像你举的例子,先创建表,再往表里插入数据,但是从语法上这两个句子都能通过编译 希望你明白了
Sql中如何给变量赋值使用set关键字。
例表格tt结构如图:
下面语句声明一个@ii_test的整型变量,然后给变量赋值,并在SQL查询中调用变量
Go语言操作数据库非常的简单,
他也有一个类似JDBC的东西"database/sql"
实现类是"github.com/go-sql-driver/mysql"
使用过JDBC的人应该一看就懂
对日期的处理比较晦涩,没有JAVA流畅:
复制代码代码如下:
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"log"
"time"
)
/*
create table t(
id int primary key auto_increment,
name varchar(20) not null,
ts timestamp
);
*/
func insert(db *sql.DB) {
stmt, err := db.Prepare("insert into t(name,ts) values(?,?)")
defer stmt.Close()
if err != nil {
log.Println(err)
return
}
ts, _ := time.Parse("2006-01-02 15:04:05", "2014-08-28 15:04:00")
stmt.Exec("edmond", ts)
}
func main() {
db, err := sql.Open("mysql", "xx:xx@tcp(127.0.0.1:3306)/mvbox?charset=utf8")
if err != nil {
log.Fatalf("Open database error: %s\n", err)
}
defer db.Close()
err = db.Ping()
if err != nil {
log.Fatal(err)
}
以一条命令的方式来处理一组命令的过程称为批处理.
"GO"是批处理的标志,它是一条或多条SQL语句的集合,SQL Server将批处理语句编译成一个可执行单元,此单元称为执行计划.
为了重复执行一项任务,将任务的命令存储在一个文件中,并作为单个执行计划向数据库发送所有命令.
以上是本人从自己教科书上挑的几句说明,理解起来应该没问题..
执行命令时是命令打包和执行的过程,执行批处理命令就是把每条命令分开打包(go的使用),然后执行,使用批处理的时候你可以发现如果里面有2条命令,而第一条出错了,第2条还是执行的
以上是个人的一点理解,表达能力太差,别扔偶板砖...