Saya menggunakan mysql dan perlu memperbarui kolom dengan nilai nol. Saya telah mencoba berbagai cara dan yang terbaik yang saya dapatkan adalah string kosong.
Apakah ada sintaks khusus untuk melakukan ini?
mysql
sql-update
Jim
sumber
sumber
Jawaban:
Tidak ada sintaks khusus:
sumber
NULL
adalah nilai khusus dalam SQL. Jadi untuk membatalkan properti, lakukan ini:sumber
Gunakan
IS
sebagai gantinya=
Ini akan menyelesaikan masalah Anda misalnya sintaks:sumber
Ingatlah untuk melihat apakah kolom Anda bisa nol. Anda dapat melakukannya dengan menggunakan
Jika kolom Anda tidak boleh nol, ketika Anda menetapkan nilai ke nol, itu akan menjadi nilai pemain untuk itu.
Berikut sebuah contoh
sumber
Bagi mereka yang menghadapi masalah serupa, saya menemukan bahwa ketika 'mensimulasikan'
SET = NULL
kueri, PHPMyAdmin akan melempar kesalahan. Ini herring merah .. jalankan saja kueri dan semuanya akan baik-baik saja.sumber
Dalam jawaban di atas, banyak cara dan pengulangan telah disarankan untuk hal yang sama. Saya terus mencari jawaban karena disebutkan adalah pertanyaan tetapi tidak dapat menemukan di sini.
Tetapi kebalikan dari pertanyaan di atas "perbarui kolom dengan nilai nol" Bisa jadi "MEMPERBARUI SEMUA BARIS DALAM KOLOM KE NULL"
Dalam situasi seperti ini karya berikut
is
jugais not
berfungsi di mysqlsumber
gunakan
is
sebagai ganti=
Misalnya:
Select * from table_name where column is null
sumber
Alasan lain yang mungkin untuk string kosong, daripada nol benar adalah bahwa bidang tersebut adalah indeks atau merupakan bagian dari indeks. Ini terjadi pada saya: menggunakan phpMyAdmin, saya mengedit struktur bidang di salah satu tabel saya untuk memungkinkan NULLs dengan mencentang kotak centang " Null " lalu menekan tombol " Simpan ". " Tabel penetapan harga telah berhasil diubah " ditampilkan jadi saya berasumsi bahwa perubahan itu terjadi - ternyata tidak. Setelah melakukan PEMBARUAN untuk mengatur semua bidang tersebut menjadi NULL , kolom itu, sebaliknya, disetel ke string kosong , jadi saya melihat struktur tabel lagi dan melihat bahwa " Null"Kolom untuk bidang itu disetel ke ' tidak '. Saat itulah saya menyadari bahwa bidang itu adalah bagian dari kunci Utama !
sumber
Jika Anda ingin menetapkan nilai nol menggunakan kueri pembaruan set nilai kolom menjadi NULL (tanpa tanda kutip) perbarui set nama nama nama kolom = NULL
Namun, jika Anda secara langsung mengedit nilai bidang di dalam workbench mysql kemudian gunakan (Esc + del) keystroke untuk memasukkan nilai nol ke dalam kolom yang dipilih
sumber
jika kamu mengikuti
maka nama "" bukan NULL IN MYSQL berarti permintaan Anda
SELECT * FROM table WHERE name = NULL
tidak bekerja atau mengecewakan diri sendirisumber
Saya menduga masalahnya di sini adalah bahwa kutipan dimasukkan sebagai literal dalam nilai string Anda. Anda dapat mengatur kolom ini ke nol menggunakan:
Anda tentu saja harus terlebih dahulu memeriksa bahwa nilai-nilai ini memang "" dengan sesuatu seperti:
sumber
jika Anda menetapkan NULL untuk semua catatan coba ini:
ATAU hanya mengatur NULL untuk menggunakan catatan khusus di MANA
sumber