1

У меня есть федеративное стол на MySql dbForge 6.0.265, который я создал так:MySql федеративной таблица не может обновить столбцы больших двоичных объектов

USE my_db; 
CREATE TABLE my_db.federated_tbl_resources (
    Id int(11) NOT NULL AUTO_INCREMENT, 
    resourceType varchar(255) NOT NULL, 
    cultureCode varchar(10) NOT NULL, 
    resourceKey varchar(128) NOT NULL, 
    resourceValue longtext NOT NULL, 
    PRIMARY KEY (Id), 
    UNIQUE INDEX UK_tbl_string_resources (cultureCode, resourceKey, resourceType) 
) 
ENGINE=FEDERATED 
AUTO_INCREMENT = 27339 
AVG_ROW_LENGTH = 219 
CHARACTER SET utf8 
CONNECTION='connection_string' 
COLLATE utf8_general_ci; 
All the select queries work great. 

Все работает хорошо, за исключением команды UPDATE не будет работать на колонке resourceValue.

Результат запроса на обновление показывает, что он был выполнен успешно, но значение остается неизменным.

После многократного поиска я обнаружил this relevant post и this official mysql bug, который существует с 2008 года и был счастливо проигнорирован, что предотвращает обновление столбцов blob (одним из них является LONGTEXT).

Неужели кто-нибудь когда-либо сталкивался с этим и есть ли уловка, чтобы обойти это ограничение mysql?

Благодаря

+0

Это пустыня там относительно этой проблемы. Мне пришлось изменить longtext на varchar (21345) в целевой и исходной базе данных, чтобы все работало. (21345 - самый большой разрешенный размер байта). Теперь он работает хорошо, но все еще интересуется этой ошибкой – Nick

ответ

0

Обойти сначала обновить ячейку в NULL или пустую строку («»), а затем обновить его снова