GoDasturchi
Executing Statements with Exec

Executing Statements with Exec

Exec bilan buyruqlarni bajarish

Natija qatorlarini qaytarmaydigan buyruqlar (INSERT, UPDATE, DELETE) uchun db.Exec ishlatiladi. U nechta qator o'zgarganini va (agar drayver qo'llab-quvvatlasa) yangi qatorning ID'sini beradi.

example.go
result, err := db.Exec(
	"INSERT INTO users (name, age) VALUES (?, ?)",
	"Aziz", int64(21),
)
if err != nil {
	fmt.Println("xato:", err)
	return
}

id, _ := result.LastInsertId()
affected, _ := result.RowsAffected()
fmt.Println(id, affected)

? belgilari — parametrlangan so'rov joylari (placeholder). Qiymatlarni to'g'ridan-to'g'ri matn ichiga qo'shish ("...VALUES ("+name+")") o'rniga, ularni alohida argument sifatida berish — SQL injection hujumidan himoya qiladi (buni haqiqiy loyihada hech qachon buzmang). result.LastInsertId() va result.RowsAffected() — bajarilgan amal haqidagi qo'shimcha ma'lumot.

>_ Exercise

Yangi foydalanuvchi qo'shing va natijani tekshiring.

  • db.Exec bilan "INSERT INTO users (name, age) VALUES (?, ?)" ni "Dilnoza", int64(19) bilan bajaring
  • RowsAffected() ni chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

db.Exec natija qatorisiz buyruqlar (INSERT/UPDATE/DELETE) uchun ishlatiladi; ? parametrlari qiymatlarni xavfsiz uzatadi (SQL injection'dan himoya).

NEXT UP

Querying Multiple Rows

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Executing Statements with Exec

Exec bilan buyruqlarni bajarish

Natija qatorlarini qaytarmaydigan buyruqlar (INSERT, UPDATE, DELETE) uchun db.Exec ishlatiladi. U nechta qator o'zgarganini va (agar drayver qo'llab-quvvatlasa) yangi qatorning ID'sini beradi.

example.go
result, err := db.Exec(
	"INSERT INTO users (name, age) VALUES (?, ?)",
	"Aziz", int64(21),
)
if err != nil {
	fmt.Println("xato:", err)
	return
}

id, _ := result.LastInsertId()
affected, _ := result.RowsAffected()
fmt.Println(id, affected)

? belgilari — parametrlangan so'rov joylari (placeholder). Qiymatlarni to'g'ridan-to'g'ri matn ichiga qo'shish ("...VALUES ("+name+")") o'rniga, ularni alohida argument sifatida berish — SQL injection hujumidan himoya qiladi (buni haqiqiy loyihada hech qachon buzmang). result.LastInsertId() va result.RowsAffected() — bajarilgan amal haqidagi qo'shimcha ma'lumot.

>_ Exercise

Yangi foydalanuvchi qo'shing va natijani tekshiring.

  • db.Exec bilan "INSERT INTO users (name, age) VALUES (?, ?)" ni "Dilnoza", int64(19) bilan bajaring
  • RowsAffected() ni chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

db.Exec natija qatorisiz buyruqlar (INSERT/UPDATE/DELETE) uchun ishlatiladi; ? parametrlari qiymatlarni xavfsiz uzatadi (SQL injection'dan himoya).

NEXT UP

Querying Multiple Rows