2016-11-04 108 views
1

正在嘗試執行查詢。這是拋出錯誤。錯誤1054(42S22):未知列

我有一個給定的字典格式的值,我需要給它一個字符串的查詢來執行。即使是拋出一個錯誤。

下面是查詢:使用字符串格式除了上面給出

mysql> INSERT INTO wf_alti_scheduler_vijay (status,display_message,modified_on,exec_sequence,input_file_path,query_file_path,is_active,aws_destination_info,created_on,result_type,project,platform,scheduled_at,project_batch,frequency,output_file_path,env,next_schedule,kv_json,id,user) VALUES (-1.0,"test query","2016-10-24 13:15:35",1.0,"na","/home/viren/viru/workflow_dev/query/new_repeat_cust_current_month.sql",1.0,"na","2016-10-15 23:59:59","FILE","onyx_dev","HIVE","2016-10-15 23:59:59","onyx_monthly","monthly","/home/viren/viru/workflow_dev/op","dev","2016-11-15 23:59:59",{"QRY_PARAM_KEY_LIST": "PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE", "QRY_PARAM_VALUE_LIST": "20160901~20160930"},1.0,"virendhar"); 

ERROR 1054 (42S22): Unknown column {"QRY_PARAM_KEY_LIST": "PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE", "QRY_PARAM_VALUE_LIST": "20160901~20160930"} in 'field list' 

所有值。如何以字符串格式給它執行查詢。有人可以幫忙嗎?

+0

後create table命令請 –

+1

運行'SHOW CREATE TABLE wf_alti_scheduler_vijay',並返回 – FrankerZ

回答

0

每當一些JSON數據被輸入到像值的列{"name":"kiran"}嘗試輸入作爲'{\"name\":\"kiran\"}'。在你的情況下,數據

{"QRY_PARAM_KEY_LIST": "PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE", "QRY_PARAM_VALUE_LIST": "20160901~20160930"} 

應輸入爲

'{\"QRY_PARAM_KEY_LIST\": \"PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE\", \"QRY_PARAM_VALUE_LIST\": \"20160901~20160930\"}' 

嘗試此查詢

INSERT INTO wf_alti_scheduler_vijay (status,display_message,modified_on,exec_sequence,input_file_path,query_file_path,is_active,aws_destination_info,created_on,result_type,project,platform,scheduled_at,project_batch,frequency,output_file_path,env,next_schedule,kv_json,id,user) VALUES (-1.0,"test query","2016-10-24 13:15:35",1.0,"na","/home/viren/viru/workflow_dev/query/new_repeat_cust_current_month.sql",1.0,"na","2016-10-15 23:59:59","FILE","onyx_dev","HIVE","2016-10-15 23:59:59","onyx_monthly","monthly","/home/viren/viru/workflow_dev/op","dev","2016-11-15 23:59:59",'{\"QRY_PARAM_KEY_LIST\": \"PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE\", \"QRY_PARAM_VALUE_LIST\": \"20160901~20160930\"}',1.0,"virendhar") 

如果您仍然收到任何錯誤,然後c檢查桌子的結構,然後重試。

0

MySQL 5.7.8支持本機JSON數據類型。所以你可以在上面的列中使用它。

同時添加(')開始和JSON數據的末尾,如下所示:

INSERT INTO wf_alti_scheduler_vijay (status,display_message,modified_on,exec_sequence,input_file_path,query_file_path,is_active,aws_destination_info,created_on,result_type,project,platform,scheduled_at,project_batch,frequency,output_file_path,env,next_schedule,kv_json,id,user) VALUES (-1.0,"test query","2016-10-24 13:15:35",1.0,"na","/home/viren/viru/workflow_dev/query/new_repeat_cust_current_month.sql",1.0,"na","2016-10-15 23:59:59","FILE","onyx_dev","HIVE","2016-10-15 23:59:59","onyx_monthly","monthly","/home/viren/viru/workflow_dev/op","dev","2016-11-15 23:59:59",'{"QRY_PARAM_KEY_LIST": "PARAM_CURRENT_MONTH_START_DATE~PARAM_CURRENT_MONTH_END_DATE", "QRY_PARAM_VALUE_LIST": "20160901~20160930"}',1.0,"virendhar"); 

For Eg:INSERT INTO t1 VALUES('{"key1": "value1", "key2": "value2"}'); 

參見:https://dev.mysql.com/doc/refman/5.7/en/json.html

相關問題