我已经找了几个小时了。我已经设置了一个MariaDB服务器,并正在实现动态列,我知道如何做,但我似乎无法找出如何去一个以上的层次深度。
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500)
);
这工作,但我需要的是一些东西,将允许我有像下面的JSON SELECT:
{
"services": {
"Monthly Fee": 500,
"OnSite": {
"Units": 10,
"Rate": 35
},
"Mileage": {
"Units": 181.8,
"Rate": 0.5
},
"Hard Drive Purchase": {
"Units": 1,
"Rate": 68.99
}
}
}
我只是不知道如何使键的值成为另一个具有自己的键的动态列:值对。
I have try:
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500,
'OnSite',
COLUMN_CREATE('Units',10,'Rate','35')
)
);
在我需要的地方嵌套。我希望这是可能的,我只是有一个简单的语法错误。
对于那些可能想弄清楚这一点的人:
语法错误。下面的语法提供了我所需要的:
SET @tmp = column_create (
'services',
column_create (
'RMM',
column_create ('Rate', 650),
'OnSite',
column_create ('Units', 10, 'Rate', 35),
'Mileage',
column_create ('Units', 181.8, 'Rate', 0.50),
'Hard Drive Purchase',
column_create ('Units', 1, 'Rate', 68.99)
)
);
SELECT
COLUMN_JSON (@tmp);