我正在从事的项目需要保存所有的数据库操作。因此,当添加新用户时,我必须记录日期、操作类型(如“插入”、“更新”、“删除”)和所有用户数据。该项目处于开发阶段,因此User表中的列正在变化。
我的计划是从Users表中选择新用户数据,并将它们作为JSON列插入到UserLog表中。
是否可以将SELECT * FROM table_name转换为JSON格式? 我知道可以使用JSON_OBJECT函数将分离的列转换为JSON,但正如我上面提到的,这些列是浮动的,所以每次更改主表时都必须更改JSON_OBJECT名称。而且有很多表!
它应该像这样工作:
我的计划是从Users表中选择新用户数据,并将它们作为JSON列插入到UserLog表中。
是否可以将SELECT * FROM table_name转换为JSON格式? 我知道可以使用JSON_OBJECT函数将分离的列转换为JSON,但正如我上面提到的,这些列是浮动的,所以每次更改主表时都必须更改JSON_OBJECT名称。而且有很多表!
它应该像这样工作:
CREATE TABLE Users (
id INT(1) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstName VARCHAR(30) NOT NULL,
lastName VARCHAR(30) NOT NULL,
email VARCHAR(50),
)
查询:
SELECT * FROM Users;
请返回:
[
{
"id": 1,
"firstName": "Lucas",
"lastName": "Smith",
"email": "lucas@def.com"
},
{
"id": 2,
"firstName": "Ben",
"lastName": "Kovalsky",
"email": "ben@def.com"
},
...
]
有没有简单的解决方案来解决这个问题?如果没有,你记录数据库操作的策略是什么?
JSON_OBJECT
的方式是不正确的原因... - LukaszTaraszka