Add FROM clause support for UPDATE statements

This commit is contained in:
go-jet 2021-12-08 18:13:58 +01:00
parent 97c34fbb54
commit 72e8d7d584
11 changed files with 211 additions and 18 deletions

View file

@ -261,15 +261,22 @@ func TestUpdateExecContext(t *testing.T) {
}
func TestUpdateWithJoin(t *testing.T) {
query := table.Staff.
INNER_JOIN(table.Address, table.Address.AddressID.EQ(table.Staff.AddressID)).
tx := beginTx(t)
defer tx.Rollback()
statement := table.Staff.INNER_JOIN(table.Address, table.Address.AddressID.EQ(table.Staff.AddressID)).
UPDATE(table.Staff.LastName).
SET(String("New name")).
SET(String("New staff name")).
WHERE(table.Staff.StaffID.EQ(Int(1)))
//fmt.Println(query.DebugSql())
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))
_, err := query.Exec(db)
_, err := statement.Exec(tx)
require.NoError(t, err)
}