Rumah > Artikel > pangkalan data > Mengapa Saya Mendapat Ralat "Nilai DOUBLE salah dipenggal" dalam Penyata KEMASKINI MySQL Saya?
MySQL "Nilai DOUBLE salah dipenggal" Ralat
Apabila cuba untuk melaksanakan kenyataan KEMASKINI dalam MySQL, mesej ralat "1292 - Dipotong nilai DOUBLE yang salah" mungkin timbul. Ralat ini menunjukkan bahawa nilai yang diberikan untuk lajur yang ditentukan dalam klausa SET bukan daripada jenis data yang dijangkakan.
Dalam contoh yang diberikan, ralat berlaku apabila cuba mengemas kini lajur "nama" bagi "kategori_kedai" " jadual dengan nilai "Secolul XVI - XVIII." Ralat menunjukkan bahawa nilai sedang dipotong kerana ia mengandungi aksara bukan angka.
Penjelasan:
Struktur jadual "shop_category" menunjukkan bahawa lajur "nama" ditakrifkan sebagai jenis data VARCHAR(250), yang direka untuk menyimpan rentetan aksara. Walau bagaimanapun, dalam kenyataan KEMASKINI, nilai yang diberikan kepada lajur "nama" termasuk aksara bukan angka (- dan ruang). MySQL mentafsir nilai ini sebagai jenis data DOUBLE, yang tidak serasi dengan jenis data VARCHAR lajur "nama".
Penyelesaian:
Untuk membetulkan ralat , alih keluar aksara bukan angka daripada nilai yang diberikan kepada lajur "nama". Pernyataan KEMASKINI yang diperbetulkan hendaklah seperti berikut:
<code class="sql">UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768;</code>
Dengan pembetulan ini, pernyataan KEMASKINI akan berjaya mengemas kini baris yang ditentukan dalam jadual "kategori_kedai", tanpa menemui ralat "Nilai DOUBLE salah dipenggal".
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat "Nilai DOUBLE salah dipenggal" dalam Penyata KEMASKINI MySQL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!