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

mysql secara otomatis melemparkan string ke integer

Tulis saja kueri Anda sehingga tidak menggunakan bidang numerik seolah-olah itu adalah bidang tekstual.

Jika id adalah bidang numerik, lalu where klausa tidak akan pernah berguna. Ya, akan lebih baik jika MySQL secara aktif mengeluhkannya - tetapi pada dasarnya Anda tidak boleh menulis kode yang menjalankan kueri buruk untuk memulai.

Bagaimana kueri itu masuk ke sistem Anda? Apakah 'asdf' bagian input pengguna langsung? Bisakah Anda menggunakan SQL berparameter sebagai gantinya?

Jika Anda benar-benar berniat untuk menanyakan bidang numerik, Anda harus memastikan bahwa input Anda adalah numerik terlebih dahulu. Ubah teks menjadi bilangan bulat dalam kode panggilan Anda, bukan dalam basis data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengisi drop-down berdasarkan pilihan sebelumnya

  2. Cara mereset kata sandi root MySQL

  3. Bagaimana menangani pengecualian PDO

  4. mysqli_fetch_array() mengharapkan parameter 1 menjadi mysqli_result, boolean diberikan

  5. Apa driver mysql yang saya gunakan dengan spring/hibernate?