Exemple #1
0
func (t *TableDef) Insert(db *sql.DB, row rowmessage.RowMessage) error {
	args := make([]interface{}, len(t.Columns))
	for index, column := range t.Columns {
		args[index] = row.GetValue(column.Name)
		if args[index] == nil && column.NotNull {
			return fmt.Errorf("Missing column %s: %s", column.Name, row)
		}
	}
	_, err := db.Exec(t.insertSQL, args...)
	if err != nil {
		log.Printf("TableDef.insert: error sql=\"%s\" args=%v", t.insertSQL, args)
	}
	return err
}