我想動態生成sql查詢。我發現這個工具將Json對象轉換爲SQL表
http://querybuilder.js.org/demo.html
而且我有以下的JSON對象:
{
"condition": "AND",
"rules": [
{
"id": "name",
"field": "name",
"type": "string",
"input": "text",
"operator": "equal",
"value": "zura"
},
{
"condition": "OR",
"rules": [
{
"id": "category",
"field": "category",
"type": "integer",
"input": "select",
"operator": "equal",
"value": "1"
},
{
"id": "price",
"field": "price",
"type": "double",
"input": "number",
"operator": "equal",
"value": "123"
}
]
},
{
"id": "in_stock",
"field": "in_stock",
"type": "integer",
"input": "radio",
"operator": "equal",
"value": "1"
},
{
"condition": "AND",
"rules": [
{
"id": "category",
"field": "category",
"type": "integer",
"input": "select",
"operator": "equal",
"value": "2"
},
{
"id": "in_stock",
"field": "in_stock",
"type": "integer",
"input": "radio",
"operator": "equal",
"value": "0"
}
]
}
]
}
現在我想以正確保存這個JSON數據生成SQL表。 有什麼辦法可以生成表,如果是的話請給我鏈接或請幫我創建同一張表
我看不出鍵值如何轉換爲SQL數據類型,即'VARCHAR','TEXT'等(https://www.w3schools.com/sql/sql_datatypes_general.asp)。你可以使用CREATE TABLE語句(https://www.w3schools.com/sql/sql_create_table.asp),但根據你的JSON值,我不認爲你會創建一個有效的SQL表。例如,從你的數據:'rules [「type」] = string','string'不是一個有效的SQL數據類型,而'VARCHAR(200)'是。如果您要動態生成基於對象的表格,我假設您至少需要正確的數據類型作爲關鍵值。 – natureminded
數據類型不計量,首先我只需要Table(May Be tables)結構來保存我的JSON數據。我可以隨時更改表格中的數據類型。 –
爲了建立一個SQL表格的結構,你首先必須「CREATE TABLE」(見我最近的評論中的鏈接)。在創建表格時,必須定義其結構,這需要定義數據類型。 IE,SQL表必須知道期望的數據類型(數字,文本等)。據我所知,你不能創建一個SQL表,沒有爲你試圖捕獲的屬性設置數據類型。這是創建表時的一個要求。很多人使用MySQL Workbench來編寫他們的願景,程序爲他們吐出SQL表。 – natureminded