Mengapa Pertanyaan Kemas Kini MySQL Saya Menghasilkan Ralat 'Nilai DOUBLE salah dipenggal'?

DDD
Lepaskan: 2024-11-06 01:24:02
asal
545 orang telah melayarinya

Why Does My MySQL Update Query Result in the

Menyelesaikan Ralat "Nilai DOUBLE salah dipenggal" dalam MySQL

Apabila cuba mengemas kini pangkalan data MySQL dengan pertanyaan seperti:

UPDATE shop_category SET name = 'Secolul XVI - XVIII' AND name_eng = '16th to 18th centuries' WHERE category_id = 4768
Salin selepas log masuk

anda mungkin menghadapi ralat:

1292 - Truncated incorrect DOUBLE value: 'Secolul XVI - XVIII'
Salin selepas log masuk

Memahami Isu

Ralat menunjukkan bahawa percubaan untuk menetapkan lajur nama kepada nilai 'Secolul XVI - XVIII' menyebabkan pemangkasan. Ralat ini boleh berlaku apabila nilai yang ditentukan melebihi panjang maksimum yang dibenarkan untuk jenis data lajur.

Penyelesaian

Untuk menyelesaikan isu ini, sahkan sama ada lajur nama ditetapkan kepada jenis data yang betul dan mempunyai panjang yang mencukupi. Daripada struktur jadual yang disediakan, jelas bahawa nama ialah varchar dengan panjang maksimum 250 aksara.

Sintaks yang betul untuk pertanyaan kemas kini hendaklah:

UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768
Salin selepas log masuk

Perhatikan bahawa DAN kata kunci sebelum tugasan name_eng adalah berlebihan.

Atas ialah kandungan terperinci Mengapa Pertanyaan Kemas Kini MySQL Saya Menghasilkan Ralat 'Nilai DOUBLE salah dipenggal'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan