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
anda mungkin menghadapi ralat:
1292 - Truncated incorrect DOUBLE value: 'Secolul XVI - XVIII'
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
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!