func (b *InsertBuilder) Into(table string) *InsertBuilder {
	b.table = table
	return b
}
Into sets the INTO clause of the query.
package qb
import (
	"bytes"
	"context"
	"time"
	"github.com/scylladb/gocqlx/v2"
)
type initializer struct {
	column string
	value  value
}
type InsertBuilder struct {
	table   string
	columns []initializer
	unique  bool
	using   using
	json    bool
}
func Insert(table string) *InsertBuilder {
	return &InsertBuilder{
		table: table,
	}
}
func (b *InsertBuilder) ToCql() (stmt string, names []string) {
	cql := bytes.Buffer{}
	cql.WriteString("INSERT ")
	cql.WriteString("INTO ")
	cql.WriteString(b.table)
	cql.WriteByte(' ')
	if b.json {
		cql.WriteString("JSON ?")
		stmt = cql.String()
		return
	}
	cql.WriteByte('(')
	for i, c := range b.columns {
		cql.WriteString(c.column)
		if i < len(b.columns)-1 {
			cql.WriteByte(',')
		}
	}
	cql.WriteString(") ")
	cql.WriteString("VALUES (")
	for i, c := range b.columns {
		names = append(names, c.value.writeCql(&cql)...)
		if i < len(b.columns)-1 {
			cql.WriteByte(',')
		}
	}
	cql.WriteString(") ")
	if b.unique {
		cql.WriteString("IF NOT EXISTS ")
	}
	names = append(names, b.using.writeCql(&cql)...)
	stmt = cql.String()
	return
}
func (b *InsertBuilder) Query(session gocqlx.Session) *gocqlx.Queryx {
	return session.Query(b.ToCql())
}
func (b *InsertBuilder) QueryContext(ctx context.Context, session gocqlx.Session) *gocqlx.Queryx {
	return b.Query(session).WithContext(ctx)
}