2022-12-05 17:26:52 +05:30
|
|
|
package mysql
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
2026-05-09 01:43:14 +00:00
|
|
|
"github.com/Gleipnir-Technology/jet/internal/testutils"
|
|
|
|
|
. "github.com/Gleipnir-Technology/jet/mysql"
|
|
|
|
|
. "github.com/Gleipnir-Technology/jet/tests/.gentestdata/mysql/dvds/table"
|
2022-12-05 17:26:52 +05:30
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestUpdateWithJoin(t *testing.T) {
|
|
|
|
|
statement := Staff.INNER_JOIN(Address, Address.AddressID.EQ(Staff.AddressID)).
|
|
|
|
|
UPDATE(Staff.LastName).
|
|
|
|
|
SET(String("New staff name")).
|
|
|
|
|
WHERE(Staff.StaffID.EQ(Int(1)))
|
|
|
|
|
|
|
|
|
|
testutils.AssertStatementSql(t, statement, `
|
|
|
|
|
UPDATE dvds.staff
|
|
|
|
|
INNER JOIN dvds.address ON (address.address_id = staff.address_id)
|
|
|
|
|
SET last_name = ?
|
|
|
|
|
WHERE staff.staff_id = ?;
|
|
|
|
|
`, "New staff name", int64(1))
|
|
|
|
|
|
|
|
|
|
testutils.AssertExecAndRollback(t, statement, db)
|
|
|
|
|
}
|