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中文网其他相关文章!