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

MySQL:=true vs true pada BOOLEAN. Kapan sebaiknya menggunakan yang mana? Dan mana yang vendor independen?

MySQL sebenarnya membodohi Anda. tidak memiliki jenis kolom boolean sama sekali :

Selain itu, literal boolean tidak seperti itu :

Mengingat:

  • Banyak sistem database juga tidak memiliki boolean (setidaknya dalam SQL standar dan tipe kolom)
  • MySQL tidak memiliki cara mudah untuk menerapkan 0 atau 1 di BOOLEAN

Kesimpulan saya adalah:

  • Anda harus menggunakan WHERE IS flag atau cukup WHERE flag karena = hanya tidak bekerja dengan benar. Yang mana, mungkin masalah preferensi.
  • Apa pun yang Anda pilih, tidak ada opsi yang independen dari vendor. Misalnya, Oracle bahkan tidak akan menjalankan keduanya.

Sunting: jika lintas platform adalah suatu keharusan, saya akan memilih ini:

WHERE flag=0
WHERE flag<>0

Saya yakin kita semua sudah sering melakukannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui CodeIgniter Kesalahan Bidang Basis Data

  2. Memberikan batas waktu skrip yang diteruskan pada impor basis data

  3. Query MySQL Geolokasi

  4. Bagaimana Anda menyimpan kata sandi dan garam pengguna dengan aman di MySQL?

  5. Serangan injeksi SQL dengan php