为什么在mysql中存储这样的数据a:6:{s:5:"title"; s:43:}

day*_*ulu 0 php mysql

在mysql数据库中,我找到了一些数据存储,如下所示:

一个:6:{S:5: "标题"; S:43: "fgjfh"; S:8: "省"; S:6: "重庆"; S:4: "城市"; S:9:"大渡口"; s:8:"location"; s:6:"fhfghf"; s:9:"starttime"; s:11:"09-02 12:00"; s:7:"endtime"; s :11:"09-02 16:00";}

KAR*_*ván 6

这是一个PHP 序列化数组.您在将数组放入数据库之前将其序列化.

serialize($value)如果要更改代码,请在代码中查找.

更新:

可能你的存储数据(实际上是一个散列)有动态字段,对于创建者来说太难了,或者他/她不关心/懒得这么做/决定不重要或者只是那不是用例.

但是您应该考虑重新考虑您的架构并创建正确的(3NF)规范化.在这种情况下,您将至少有一个表,可以是这样的:

CREATE TABLE data (
  id          INTEGER PRIMARY KEY, -- or SERIAL if your database supports it
  title       VARCHAR,             -- or TEXT
  province_id INTEGER NOT NULL,    -- or REFERENCES the provinces table
  city_id     INTEGER NOT NULL,    -- or REFERENCES the cities table
  location    VARCHAR,             -- I do not really know what is this field
  starttime   TIMESTAMP,
  endtime     TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)

当然,你也需要这些provincescities桌子.使用此模式,您可以使用数据库指令来处理存储的数据(如果需要).