Данные усекаются для столбца 'x' при обновлении до NULL - PullRequest
0 голосов
/ 24 августа 2018

У меня есть таблица MySQL, содержащая столбец с именем free_delivery_treshold типа float, NOT NULL unchecked . Если я вставляю данные без этого столбца, вставляется значение по умолчанию (NULL). Однако, если я обновлю его значение до NULL, пустую строку или \N, я получу

WARN_DATA_TRUNCATED: усеченные данные для столбца 'free_delivery_treshold' в строке 1

ошибка.

Как мне обновить значение этого столбца до NULL?

1 Ответ

0 голосов
/ 24 августа 2018

Если вы хотите обновить 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 |
|------------------------|
|                        |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...