Skip to content

Commit e5e2b43

Browse files
committed
fixed bug with insert and update
1 parent 6f5750e commit e5e2b43

File tree

5 files changed

+104
-85
lines changed

5 files changed

+104
-85
lines changed

coverage.out

Lines changed: 78 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -13,57 +13,57 @@ github.com/GolangToolKits/go-mysql/mysqldb.go:60.64,65.18 5 1
1313
github.com/GolangToolKits/go-mysql/mysqldb.go:65.18,67.3 1 1
1414
github.com/GolangToolKits/go-mysql/mysqldb.go:67.8,70.17 3 1
1515
github.com/GolangToolKits/go-mysql/mysqldb.go:70.17,72.4 1 1
16-
github.com/GolangToolKits/go-mysql/mysqldb.go:72.9,74.28 2 1
17-
github.com/GolangToolKits/go-mysql/mysqldb.go:74.28,76.5 1 1
18-
github.com/GolangToolKits/go-mysql/mysqldb.go:79.2,79.20 1 1
19-
github.com/GolangToolKits/go-mysql/mysqldb.go:83.55,87.18 4 1
20-
github.com/GolangToolKits/go-mysql/mysqldb.go:87.18,89.3 1 1
21-
github.com/GolangToolKits/go-mysql/mysqldb.go:89.8,92.17 3 1
22-
github.com/GolangToolKits/go-mysql/mysqldb.go:92.17,94.4 1 1
23-
github.com/GolangToolKits/go-mysql/mysqldb.go:94.9,96.25 2 1
24-
github.com/GolangToolKits/go-mysql/mysqldb.go:96.25,98.5 1 1
25-
github.com/GolangToolKits/go-mysql/mysqldb.go:98.10,100.5 1 1
26-
github.com/GolangToolKits/go-mysql/mysqldb.go:103.2,103.16 1 1
27-
github.com/GolangToolKits/go-mysql/mysqldb.go:107.54,110.16 3 1
28-
github.com/GolangToolKits/go-mysql/mysqldb.go:110.16,112.3 1 1
29-
github.com/GolangToolKits/go-mysql/mysqldb.go:112.8,115.17 3 1
30-
github.com/GolangToolKits/go-mysql/mysqldb.go:115.17,117.4 1 1
31-
github.com/GolangToolKits/go-mysql/mysqldb.go:117.9,120.18 3 1
32-
github.com/GolangToolKits/go-mysql/mysqldb.go:120.18,124.30 4 1
33-
github.com/GolangToolKits/go-mysql/mysqldb.go:124.30,126.6 1 1
34-
github.com/GolangToolKits/go-mysql/mysqldb.go:127.5,127.21 1 1
35-
github.com/GolangToolKits/go-mysql/mysqldb.go:127.21,134.36 2 1
36-
github.com/GolangToolKits/go-mysql/mysqldb.go:134.36,136.21 2 1
37-
github.com/GolangToolKits/go-mysql/mysqldb.go:136.21,138.8 1 1
38-
github.com/GolangToolKits/go-mysql/mysqldb.go:138.13,140.8 1 1
39-
github.com/GolangToolKits/go-mysql/mysqldb.go:141.7,141.39 1 1
40-
github.com/GolangToolKits/go-mysql/mysqldb.go:150.2,150.13 1 1
41-
github.com/GolangToolKits/go-mysql/mysqldb.go:154.59,157.16 3 1
42-
github.com/GolangToolKits/go-mysql/mysqldb.go:157.16,159.3 1 1
43-
github.com/GolangToolKits/go-mysql/mysqldb.go:159.8,163.17 3 1
44-
github.com/GolangToolKits/go-mysql/mysqldb.go:163.17,165.4 1 1
45-
github.com/GolangToolKits/go-mysql/mysqldb.go:165.9,168.18 3 1
46-
github.com/GolangToolKits/go-mysql/mysqldb.go:168.18,172.30 4 1
47-
github.com/GolangToolKits/go-mysql/mysqldb.go:172.30,174.6 1 1
48-
github.com/GolangToolKits/go-mysql/mysqldb.go:175.5,175.21 1 1
49-
github.com/GolangToolKits/go-mysql/mysqldb.go:175.21,183.36 3 1
50-
github.com/GolangToolKits/go-mysql/mysqldb.go:183.36,185.21 2 1
51-
github.com/GolangToolKits/go-mysql/mysqldb.go:185.21,187.8 1 1
52-
github.com/GolangToolKits/go-mysql/mysqldb.go:187.13,189.8 1 1
53-
github.com/GolangToolKits/go-mysql/mysqldb.go:190.7,190.49 1 1
54-
github.com/GolangToolKits/go-mysql/mysqldb.go:192.6,192.47 1 1
55-
github.com/GolangToolKits/go-mysql/mysqldb.go:200.2,200.13 1 1
56-
github.com/GolangToolKits/go-mysql/mysqldb.go:204.55,208.18 4 1
57-
github.com/GolangToolKits/go-mysql/mysqldb.go:208.18,210.3 1 1
58-
github.com/GolangToolKits/go-mysql/mysqldb.go:210.8,213.17 3 1
59-
github.com/GolangToolKits/go-mysql/mysqldb.go:213.17,215.4 1 1
60-
github.com/GolangToolKits/go-mysql/mysqldb.go:215.9,217.25 2 1
61-
github.com/GolangToolKits/go-mysql/mysqldb.go:217.25,219.5 1 1
62-
github.com/GolangToolKits/go-mysql/mysqldb.go:219.10,221.5 1 0
63-
github.com/GolangToolKits/go-mysql/mysqldb.go:224.2,224.16 1 1
64-
github.com/GolangToolKits/go-mysql/mysqldb.go:228.29,231.16 3 1
65-
github.com/GolangToolKits/go-mysql/mysqldb.go:231.16,233.3 1 1
66-
github.com/GolangToolKits/go-mysql/mysqldb.go:234.2,234.12 1 1
16+
github.com/GolangToolKits/go-mysql/mysqldb.go:72.9,75.38 3 1
17+
github.com/GolangToolKits/go-mysql/mysqldb.go:75.38,77.5 1 1
18+
github.com/GolangToolKits/go-mysql/mysqldb.go:80.2,80.20 1 1
19+
github.com/GolangToolKits/go-mysql/mysqldb.go:84.55,88.18 4 1
20+
github.com/GolangToolKits/go-mysql/mysqldb.go:88.18,90.3 1 1
21+
github.com/GolangToolKits/go-mysql/mysqldb.go:90.8,93.17 3 1
22+
github.com/GolangToolKits/go-mysql/mysqldb.go:93.17,95.4 1 1
23+
github.com/GolangToolKits/go-mysql/mysqldb.go:95.9,97.25 2 1
24+
github.com/GolangToolKits/go-mysql/mysqldb.go:97.25,99.5 1 1
25+
github.com/GolangToolKits/go-mysql/mysqldb.go:99.10,101.5 1 1
26+
github.com/GolangToolKits/go-mysql/mysqldb.go:104.2,104.16 1 1
27+
github.com/GolangToolKits/go-mysql/mysqldb.go:108.54,111.16 3 1
28+
github.com/GolangToolKits/go-mysql/mysqldb.go:111.16,113.3 1 1
29+
github.com/GolangToolKits/go-mysql/mysqldb.go:113.8,116.17 3 1
30+
github.com/GolangToolKits/go-mysql/mysqldb.go:116.17,118.4 1 1
31+
github.com/GolangToolKits/go-mysql/mysqldb.go:118.9,121.18 3 1
32+
github.com/GolangToolKits/go-mysql/mysqldb.go:121.18,125.30 4 1
33+
github.com/GolangToolKits/go-mysql/mysqldb.go:125.30,127.6 1 1
34+
github.com/GolangToolKits/go-mysql/mysqldb.go:128.5,128.21 1 1
35+
github.com/GolangToolKits/go-mysql/mysqldb.go:128.21,135.36 2 1
36+
github.com/GolangToolKits/go-mysql/mysqldb.go:135.36,137.21 2 1
37+
github.com/GolangToolKits/go-mysql/mysqldb.go:137.21,139.8 1 1
38+
github.com/GolangToolKits/go-mysql/mysqldb.go:139.13,141.8 1 1
39+
github.com/GolangToolKits/go-mysql/mysqldb.go:142.7,142.39 1 1
40+
github.com/GolangToolKits/go-mysql/mysqldb.go:151.2,151.13 1 1
41+
github.com/GolangToolKits/go-mysql/mysqldb.go:155.59,158.16 3 1
42+
github.com/GolangToolKits/go-mysql/mysqldb.go:158.16,160.3 1 1
43+
github.com/GolangToolKits/go-mysql/mysqldb.go:160.8,164.17 3 1
44+
github.com/GolangToolKits/go-mysql/mysqldb.go:164.17,166.4 1 1
45+
github.com/GolangToolKits/go-mysql/mysqldb.go:166.9,169.18 3 1
46+
github.com/GolangToolKits/go-mysql/mysqldb.go:169.18,173.30 4 1
47+
github.com/GolangToolKits/go-mysql/mysqldb.go:173.30,175.6 1 1
48+
github.com/GolangToolKits/go-mysql/mysqldb.go:176.5,176.21 1 1
49+
github.com/GolangToolKits/go-mysql/mysqldb.go:176.21,184.36 3 1
50+
github.com/GolangToolKits/go-mysql/mysqldb.go:184.36,186.21 2 1
51+
github.com/GolangToolKits/go-mysql/mysqldb.go:186.21,188.8 1 1
52+
github.com/GolangToolKits/go-mysql/mysqldb.go:188.13,190.8 1 1
53+
github.com/GolangToolKits/go-mysql/mysqldb.go:191.7,191.49 1 1
54+
github.com/GolangToolKits/go-mysql/mysqldb.go:193.6,193.47 1 1
55+
github.com/GolangToolKits/go-mysql/mysqldb.go:201.2,201.13 1 1
56+
github.com/GolangToolKits/go-mysql/mysqldb.go:205.55,209.18 4 1
57+
github.com/GolangToolKits/go-mysql/mysqldb.go:209.18,211.3 1 1
58+
github.com/GolangToolKits/go-mysql/mysqldb.go:211.8,214.17 3 1
59+
github.com/GolangToolKits/go-mysql/mysqldb.go:214.17,216.4 1 1
60+
github.com/GolangToolKits/go-mysql/mysqldb.go:216.9,218.25 2 1
61+
github.com/GolangToolKits/go-mysql/mysqldb.go:218.25,220.5 1 1
62+
github.com/GolangToolKits/go-mysql/mysqldb.go:220.10,222.5 1 0
63+
github.com/GolangToolKits/go-mysql/mysqldb.go:225.2,225.16 1 1
64+
github.com/GolangToolKits/go-mysql/mysqldb.go:229.29,232.16 3 1
65+
github.com/GolangToolKits/go-mysql/mysqldb.go:232.16,234.3 1 1
66+
github.com/GolangToolKits/go-mysql/mysqldb.go:235.2,235.12 1 1
6767
github.com/GolangToolKits/go-mysql/mysqldbMock.go:108.35,110.2 1 1
6868
github.com/GolangToolKits/go-mysql/mysqldbMock.go:113.35,115.2 1 1
6969
github.com/GolangToolKits/go-mysql/mysqldbMock.go:118.46,122.2 3 1
@@ -135,28 +135,33 @@ github.com/GolangToolKits/go-mysql/mysqltx.go:14.66,19.16 4 1
135135
github.com/GolangToolKits/go-mysql/mysqltx.go:19.16,21.3 1 1
136136
github.com/GolangToolKits/go-mysql/mysqltx.go:21.8,24.17 3 1
137137
github.com/GolangToolKits/go-mysql/mysqltx.go:24.17,26.4 1 1
138-
github.com/GolangToolKits/go-mysql/mysqltx.go:26.9,29.4 2 1
139-
github.com/GolangToolKits/go-mysql/mysqltx.go:31.2,31.20 1 1
140-
github.com/GolangToolKits/go-mysql/mysqltx.go:35.57,38.16 3 1
141-
github.com/GolangToolKits/go-mysql/mysqltx.go:38.16,40.3 1 1
142-
github.com/GolangToolKits/go-mysql/mysqltx.go:40.8,43.17 3 1
143-
github.com/GolangToolKits/go-mysql/mysqltx.go:43.17,45.4 1 1
144-
github.com/GolangToolKits/go-mysql/mysqltx.go:45.9,47.4 1 1
145-
github.com/GolangToolKits/go-mysql/mysqltx.go:49.2,49.16 1 1
146-
github.com/GolangToolKits/go-mysql/mysqltx.go:53.57,56.16 3 1
147-
github.com/GolangToolKits/go-mysql/mysqltx.go:56.16,58.3 1 1
148-
github.com/GolangToolKits/go-mysql/mysqltx.go:58.8,61.17 3 1
149-
github.com/GolangToolKits/go-mysql/mysqltx.go:61.17,64.4 1 1
150-
github.com/GolangToolKits/go-mysql/mysqltx.go:64.9,67.4 1 1
151-
github.com/GolangToolKits/go-mysql/mysqltx.go:69.2,69.16 1 1
152-
github.com/GolangToolKits/go-mysql/mysqltx.go:73.32,76.16 3 1
153-
github.com/GolangToolKits/go-mysql/mysqltx.go:76.16,78.3 1 1
154-
github.com/GolangToolKits/go-mysql/mysqltx.go:78.8,80.3 1 1
155-
github.com/GolangToolKits/go-mysql/mysqltx.go:81.2,81.12 1 1
156-
github.com/GolangToolKits/go-mysql/mysqltx.go:85.34,88.16 3 1
157-
github.com/GolangToolKits/go-mysql/mysqltx.go:88.16,90.3 1 1
158-
github.com/GolangToolKits/go-mysql/mysqltx.go:90.8,92.3 1 1
159-
github.com/GolangToolKits/go-mysql/mysqltx.go:93.2,93.12 1 1
138+
github.com/GolangToolKits/go-mysql/mysqltx.go:26.9,29.38 3 1
139+
github.com/GolangToolKits/go-mysql/mysqltx.go:29.38,31.5 1 1
140+
github.com/GolangToolKits/go-mysql/mysqltx.go:34.2,34.20 1 1
141+
github.com/GolangToolKits/go-mysql/mysqltx.go:38.57,41.16 3 1
142+
github.com/GolangToolKits/go-mysql/mysqltx.go:41.16,43.3 1 1
143+
github.com/GolangToolKits/go-mysql/mysqltx.go:43.8,46.17 3 1
144+
github.com/GolangToolKits/go-mysql/mysqltx.go:46.17,48.4 1 1
145+
github.com/GolangToolKits/go-mysql/mysqltx.go:48.9,50.25 2 1
146+
github.com/GolangToolKits/go-mysql/mysqltx.go:50.25,52.5 1 0
147+
github.com/GolangToolKits/go-mysql/mysqltx.go:52.10,54.5 1 1
148+
github.com/GolangToolKits/go-mysql/mysqltx.go:57.2,57.16 1 1
149+
github.com/GolangToolKits/go-mysql/mysqltx.go:61.57,64.16 3 1
150+
github.com/GolangToolKits/go-mysql/mysqltx.go:64.16,66.3 1 1
151+
github.com/GolangToolKits/go-mysql/mysqltx.go:66.8,69.17 3 1
152+
github.com/GolangToolKits/go-mysql/mysqltx.go:69.17,72.4 1 1
153+
github.com/GolangToolKits/go-mysql/mysqltx.go:72.9,74.25 2 1
154+
github.com/GolangToolKits/go-mysql/mysqltx.go:74.25,76.5 1 1
155+
github.com/GolangToolKits/go-mysql/mysqltx.go:76.10,78.5 1 1
156+
github.com/GolangToolKits/go-mysql/mysqltx.go:82.2,82.16 1 1
157+
github.com/GolangToolKits/go-mysql/mysqltx.go:86.32,89.16 3 1
158+
github.com/GolangToolKits/go-mysql/mysqltx.go:89.16,91.3 1 1
159+
github.com/GolangToolKits/go-mysql/mysqltx.go:91.8,93.3 1 1
160+
github.com/GolangToolKits/go-mysql/mysqltx.go:94.2,94.12 1 1
161+
github.com/GolangToolKits/go-mysql/mysqltx.go:98.34,101.16 3 1
162+
github.com/GolangToolKits/go-mysql/mysqltx.go:101.16,103.3 1 1
163+
github.com/GolangToolKits/go-mysql/mysqltx.go:103.8,105.3 1 1
164+
github.com/GolangToolKits/go-mysql/mysqltx.go:106.2,106.12 1 1
160165
github.com/GolangToolKits/go-mysql/mysqltxMock.go:12.70,15.40 3 1
161166
github.com/GolangToolKits/go-mysql/mysqltxMock.go:15.40,19.3 3 1
162167
github.com/GolangToolKits/go-mysql/mysqltxMock.go:19.8,19.47 1 1

mysqldb.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ func (m *MyDB) Insert(query string, args ...any) (bool, int64) {
7171
log.Println("Insert Exec err:", err.Error())
7272
} else {
7373
id, err = res.LastInsertId()
74-
if err == nil && id > 0 {
74+
affectedRows, _ := res.RowsAffected()
75+
if err == nil && affectedRows > 0 {
7576
success = true
7677
}
7778
}

mysqldb_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ func TestMyDB_GetList(t *testing.T) {
522522
}
523523

524524
func TestMyDB_Delete(t *testing.T) {
525-
var id = 139
525+
var id = 130
526526
var a []any
527527
a = append(a, id)
528528

@@ -634,7 +634,7 @@ func TestMyDB_Close(t *testing.T) {
634634
db: tt.fields.db,
635635
err: tt.fields.err,
636636
}
637-
m:= mm.New()
637+
m := mm.New()
638638
m.Connect()
639639
if got := m.Close(); got != tt.want {
640640
t.Errorf("MyDB.Close() = %v, want %v", got, tt.want)

mysqltx.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ func (t *MyDbTx) Insert(query string, args ...any) (bool, int64) {
2424
if err != nil {
2525
log.Println("Insert transaction Exec err:", err.Error())
2626
} else {
27-
id, _ = res.LastInsertId()
28-
success = true
27+
id, err = res.LastInsertId()
28+
affectedRows, _ := res.RowsAffected()
29+
if err == nil && affectedRows > 0 {
30+
success = true
31+
}
2932
}
3033
}
3134
return success, id
@@ -39,11 +42,16 @@ func (t *MyDbTx) Update(query string, args ...any) bool {
3942
log.Println("Update transaction prepare err:", err.Error())
4043
} else {
4144
defer stmtIns.Close()
42-
_, err := stmtIns.Exec(args...)
45+
res, err := stmtIns.Exec(args...)
4346
if err != nil {
4447
log.Println("Update transaction Exec err:", err.Error())
4548
} else {
46-
success = true
49+
affectedRows, _ := res.RowsAffected()
50+
if affectedRows == 0 {
51+
log.Println("Error: No records updated")
52+
} else {
53+
success = true
54+
}
4755
}
4856
}
4957
return success
@@ -57,12 +65,17 @@ func (t *MyDbTx) Delete(query string, args ...any) bool {
5765
log.Println("Delete transaction prepare err:", err.Error())
5866
} else {
5967
defer stmtIns.Close()
60-
_, err := stmtIns.Exec(args...)
68+
res, err := stmtIns.Exec(args...)
6169
if err != nil {
6270
log.Println("Delete transaction Exec err:", err.Error())
6371
//t.Tx.Rollback()
6472
} else {
65-
success = true
73+
affectedRows, _ := res.RowsAffected()
74+
if affectedRows == 0 {
75+
log.Println("Error: No records deleted")
76+
} else {
77+
success = true
78+
}
6679
//t.Tx.Commit()
6780
}
6881
}

mysqltx_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func TestMyDbTx_Update(t *testing.T) {
156156

157157
func TestMyDbTx_Delete(t *testing.T) {
158158

159-
var id = 140
159+
var id = 150
160160
var a []any
161161
a = append(a, id)
162162

@@ -182,7 +182,7 @@ func TestMyDbTx_Delete(t *testing.T) {
182182
query: "delete from test where id = ? ",
183183
args: a,
184184
},
185-
want: true,
185+
want: false,
186186
},
187187
{
188188
name: "test 2",
@@ -266,7 +266,7 @@ func TestMyDbTx_Commit(t *testing.T) {
266266

267267
func TestMyDbTx_Delete_Rollback(t *testing.T) {
268268

269-
var id = 141
269+
var id = 144
270270
var a []any
271271
a = append(a, id)
272272

0 commit comments

Comments
 (0)