Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mematikan komit otomatis untuk klien MySQL?

Mungkin cara terbaik adalah menulis skrip yang memulai klien baris perintah mysql dan kemudian secara otomatis menjalankan sql apa pun yang Anda inginkan sebelum menyerahkan kendali kepada Anda.

linux hadir dengan aplikasi bernama 'berharap'. itu berinteraksi dengan shell sedemikian rupa untuk meniru pukulan kunci Anda. itu dapat diatur untuk memulai mysql, tunggu Anda memasukkan kata sandi Anda. jalankan perintah lebih lanjut seperti SET autocommit = 0; lalu masuk ke mode interaktif sehingga Anda dapat menjalankan perintah apa pun yang Anda inginkan.

untuk lebih lanjut tentang perintah SET autocommit = 0; lihat.. http://dev.mysql. com/doc/refman/5.0/en/innodb-transaction-model.html

Saya menggunakan harapan untuk masuk ke utilitas baris perintah dalam kasus saya ini memulai ssh, terhubung ke server jarak jauh, memulai aplikasi memasukkan nama pengguna dan kata sandi saya kemudian menyerahkan kendali kepada saya. menghemat banyak mengetik :)

http://linux.die.net/man/1/expect

DC

Harapkan skrip yang disediakan oleh Michael Hinds

spawn /usr/local/mysql/bin/mysql 
expect "mysql>" 
send "set autocommit=0;\r" 
expect "mysql>" interact

harapkan cukup kuat dan dapat membuat hidup jauh lebih mudah seperti dalam kasus ini.

jika Anda ingin menjalankan skrip tanpa menelepon, harap gunakan baris Shebang

masukkan ini sebagai baris pertama dalam skrip Anda (petunjuk:gunakan which expect untuk menemukan lokasi yang Anda harapkan dapat dieksekusi)

#! /usr/bin/expect

lalu ubah izin skrip Anda dengan..

chmod 0744 myscript

lalu panggil skrip

./myscript

DC



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggabungkan dua tabel dengan ssp.class.php

  2. Batasi jumlah baris untuk bergabung, di mysql

  3. SELECT / GROUP BY - segmen waktu (10 detik, 30 detik, dll)

  4. JPA atau Hibernate untuk menghasilkan nilai kolom (non primary key), tidak dimulai dari 1

  5. Bergabung dengan 2 tabel di SELECT(MYSQL/PHP)