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

Bagaimana cara mengizinkan string kosong untuk integer di MySQL?

Ada 2 cara untuk melakukannya.

  1. Untuk Sesi Mysql Saat Ini (Solusi Sementara)

Pertama jalankan kueri untuk mendapatkan mode SQL saat ini dari server mysql Anda.

    mysql> SELECT @@sql_mode;
    +----------------------------------------------------------------+
    | @@sql_mode                                                     |
    +----------------------------------------------------------------+
    |STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  |
    +----------------------------------------------------------------+
    1 row in set (0.00 sec)

Jika hasil berisi STRICT_TRANS_TABLES , Anda harus menghapus nilai itu agar kueri penyisipan dapat melewati nilai NULL. Pastikan Pengguna mysql Anda memiliki hak istimewa untuk menerapkan perubahan ini dan restart Server Mysql setelah menerapkan ini.

    SET GLOBAL sql_mode = '';
  1. Seumur Hidup Mysql (Solusi Permanen)

Anda harus memperbarui file my.cnf. Lokasi file tersebut adalah :\etc\my.cnf atau \etc\mysql\mysql.cnf

Akan ada beberapa parameter default yang diatur di bawah [mysqld] seperti

[mysqld]
innodb_file_per_table=1
default-storage-engine=MyISAM
performance-schema=0
max_allowed_packet=268435456
open_files_limit=10000

Cukup tambahkan satu baris di bawahnya

sql-mode=""

Pastikan untuk me-restart Server Mysql setelah mengubah file ini. Biasanya pengguna root akan menjadi pemilik file sehingga Anda harus login dengan pengguna root di server.

Untuk detail selengkapnya untuk memahami apa yang dilakukan mode SQL ini.

STRICT_TRANS_TABLES

Aktifkan mode SQL ketat untuk mesin penyimpanan transaksional, dan jika memungkinkan untuk mesin penyimpanan non-transaksi. Untuk detailnya, lihat Mode SQL Ketat.

Lihat :http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_strict_trans_tables

NO_AUTO_CREATE_USER

Cegah pernyataan GRANT dari membuat akun pengguna baru secara otomatis jika sebaliknya, kecuali jika informasi otentikasi ditentukan. Pernyataan harus menentukan kata sandi yang tidak kosong menggunakan IDENTIFIED BY atau plugin otentikasi menggunakan IDENTIFIED WITH.

Lihat:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_create_user

NO_ENGINE_SUBSTITUTION

Kontrol substitusi otomatis mesin penyimpanan default saat pernyataan seperti CREATE TABLE atau ALTER TABLE menentukan mesin penyimpanan yang dinonaktifkan atau tidak dikompilasi.

Lihat :http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_engine_substitution



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menemukan karakter non-ASCII di MySQL?

  2. Kesalahan fatal:Tidak dapat menggunakan objek bertipe stdClass sebagai array di

  3. Jalur Pembelajaran MySQL

  4. KUNCI UTAMA MySQL:UUID / GUID vs BIGINT (stempel waktu + acak)

  5. Cara menghapus baris duplikat dan memperbarui tabel