MYSQL 在UPDATE 期間出現不正確的雙值截斷
提供的SQL 更新查詢嘗試修改shop_category 表中的name 和name_eng 列。但是,遇到錯誤並顯示訊息「截斷不正確的 DOUBLE 值:'Secolul XVI - XVIII'」。當嘗試在定義為數字資料類型(例如 DOUBLE、FLOAT)的欄位中插入或更新資料時,通常會發生此錯誤,且該列中的值無法以列的預定義精度或小數位數表示。
要修正對於這個問題,驗證 name 和 name_eng 欄位的資料類型至關重要。根據提供的表格結構,兩個欄位都定義為 varchar(250),表示它們期望字串值而不是數字值。因此,該錯誤不太可能是由不正確的資料類型引起的。
相反,該錯誤可能歸因於 UPDATE 語句中的語法不正確。請注意 name 和 name_eng 分配之間存在 AND 關鍵字。這個語法不正確;在 UPDATE 語句中,多個列分配應該用逗號分隔,而不使用 AND。
修正的更新語句:
以下修正的語句將成功更新指定的欄位:
<code class="sql">UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768</code>
此語句將分別將字串值「Secolul XVI - XVIII」和「16th to 18th century」分配給name 和name_eng 列,不會遇到任何錯誤。
以上是為什麼我在 MySQL 更新期間收到「截斷不正確的雙值」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!