[英]Data truncated for column 'x' when updating to NULL
我有一个MySQL表,该表包含名为float_type的free_delivery_treshold列, 未选中 NOT NULL。 如果我插入省略该列的数据,则会插入默认值(NULL)。 但是,如果将其值更新为NULL
,空字符串或\\N
,则会得到一个
WARN_DATA_TRUNCATED:第1行的“ free_delivery_treshold”列的数据被截断
错误。
如何将此列的值更新为NULL?
如果要将free_delivery_treshold
列更新为NULL
,可以尝试此操作。
您不能将free_delivery_treshold
更新为空字符串或\\N
因为类型为float
CREATE TABLE T(free_delivery_treshold float);
INSERT INTO T VALUES (1);
UPDATE T
SET free_delivery_treshold =NULL
查询1 :
SELECT * FROM T
结果 :
| free_delivery_treshold |
|------------------------|
| (null) |
如果要将NULL
数据更新为空字符串或\\N
,则需要使用char
或varchar
而不是float。
CREATE TABLE T(free_delivery_treshold varchar(50));
INSERT INTO T VALUES (NULL);
UPDATE T
SET free_delivery_treshold =''
WHERE free_delivery_treshold IS NULL
查询1 :
SELECT * FROM T
结果 :
| free_delivery_treshold |
|------------------------|
| |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.