JSON:将新的 json 数据添加到 MySQL



我编写了一个Java程序来保存有关学生访问Internet信息的登录信息,并将该信息保存到数据库中。

我的桌子是这样的:

mysql> desc data_log_test;
+-------------+-------------+------+-----+-------------------+-------+
| Field       | Type        | Null | Key | Default           | Extra |
+-------------+-------------+------+-----+-------------------+-------+
| studentID   | varchar(40) | NO   | PRI | NULL              |       |
| details     | json        | NO   |     | NULL              |       |
| date_insert | timestamp   | NO   |     | CURRENT_TIMESTAMP |       |
+-------------+-------------+------+-----+-------------------+-------+

将存储在详细信息中的信息应为:

 {
    "time_login": 1, 
    "ipInt": 167772160, 
    "urlAccess": "https://google.com", 
    "duration": 30
 }

此信息将不时更新。

我的问题 - 是否可以在表中仅添加详细信息?

我想要特定的学生ID,它可以有1个以上的详细信息。

谢谢。

如果您希望学生了解更多详细信息,那么您应该实现 ManyToOne 连接(请参阅参考资料)

CREATE TABLE student_detail (
    ID        varchar(40),
    studentID varchar(40),
    detail    json,
    INDEX studentID_idx (studentID),
    FOREIGN KEY (studentID)
        REFERENCES data_log_test(studentID)
        ON DELETE CASCADE
    PRIMARY KEY (ID)
)

附注:

  • 我建议您将data_log_test表重命名为 student,因为它存储学生
  • 我建议您将studentID student字段重命名为id
  • 此外,我建议您遵循常见的命名约定,例如表名和列应该named_like_this,这样就不是studentID而是student_id(看看Snake案例)

相关内容

  • 没有找到相关文章

最新更新