go-sqlbuilder
go-sqlbuilder copied to clipboard
how to use update with select in mysql?
here is code
UPDATE T1
[INNER JOIN | LEFT JOIN] T2 ON T1.C1 = T2. C1
SET T1.C2 = T2.C2,
T2.C3 = expr
WHERE condition
There is no built-in support for JOIN in UpdateBuilder. Instead, you can use SQL() method to build this SQL.
ub := sqlbuilder.Update("T1").SQL("INNER JOIN T2 ON T1.C1 = T2. C1")
ub.Set(
"T1.C2 = T2.C2",
ub.Assign("T2.C3", 123),
)
ub.Where(ub.In("T1.C4", "foo", "bar"))
Here is a live demo for you. https://go.dev/play/p/xfwm9P-55sX
@huandu that‘s really nice, I will try it. thanks!