Для этой простой таблицы, созданной в MySQL 8.012
CREATE TABLE `lead` (
`ID` int(11) NOT NULL,
`TS` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`RS` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Оператор
INSERT INTO lead (ID,RS) VALUES (1397,'{"ID":"1397","TITLE":"John Lenon -TESTE ZAPIER 54","HONORIFIC":"0"}')
ON DUPLICATE KEY UPDATE RS = VALUES(RS);
FAILS при отправке через PhpMysqladmin с ошибкой
Статический анализ:
3 ошибки были обнаружены во время анализа.
Нераспознанное ключевое слово.(около "ON" в позиции 111) Нераспознанное ключевое слово.(рядом с «DUPLICATE» в позиции 114) Нераспознанное ключевое слово.(около «KEY» в позиции 124)
SQL-запрос:
INSERT INTO lead (ID,RS) VALUES
(1397,'{"ID":"1397","TITLE":"John Lenon -TESTE ZAPIER 54","HONORIFIC":"0"}')
ON DUPLICATE KEY UPDATE RS = VALUES(RS)
MySQL сказал: Документация
1064 - у вас есть ошибка вваш синтаксис SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом со «ЗНАКАМИ (ID, RS)» (1397, «{« ID »:« 1397 »,« TITLE »:« Джон Ленон -TESTE ZAPIER 54 »), «H» в строке 1
Однако, если имя таблицы изменить, скажем, на «myleader», оператор работает как символ.
Есть мысли? Спасибо, Роналду