MySQL 5.7.12 import cannot create a JSON value from a string with CHARACTER SET 'binary'

后端 未结 12 1874
攒了一身酷
攒了一身酷 2020-12-07 08:45

I exported my database with JSON columns in it. After I migrated to a new server, my import crashed every time with an error like:

cannot create a JSO

12条回答
  •  眼角桃花
    2020-12-07 09:21

    You can apply a regex to the SQL text which you exported which will convert your binary strings into an insertable format. This was my quick and dirty fix when I faced this issue

    (X'[^,\)]*')
    CONVERT($1 using utf8mb4)
    

    Applying this regex means

    INSERT INTO json_table (json_column) VALUES (X'7B22666F6F223A2022626172227D');
    

    will now become

    INSERT INTO json_table (json_column) VALUES (CONVERT(X'7B22666F6F223A2022626172227D' using utf8mb4));
    

提交回复
热议问题