如何再MYSQL中存储数组

如何再MYSQL中存储数组,第1张

SQL没有数组这种类型,数组是一种数据结构的概念,跟关系型mysql数据存储持久化没有关系。 如果你要将数组的内容存储的mysql中,如 arr[n][m]二维数组,你创建一个table arr, 列是 A B,循环数组的每个元素,然后存储到对应的表中的A B列。

把数组转换成字符串后再存入数据库

参考函数

implode() ---把数组转换成字符串

explode() ---把字符串转换成数组

手册里有详细说明

序列化以后存储.

对于一维数组可以简单的用

implode

explode

函数做数组——串的变换,但需注意分隔符要使用数组中不存在的字符

对于多维数组可以用序列化函数处理

serialize

unserialize

函数的用法手册中都有

MYSQL_ROW row 是mysql内部的类型,可能是一个结构体A,mysql先执行以下desc table的 *** 作,依照表结构创建字段,也可能只是得到一行数据有几列,分别是什么类型。

row = mysql_fetch_row(result)会取一样的数据,mysql里面每成功调用一次这个函数mysql_fetch_row就会取一行,类似

vector<struct A>v_a

··········赋值v_a·········

全局定义 int x = 0

function: mysql_fetch_row

while (x <v_a.size())

row = v_a[x++]

mysql_fetch_lengths是得到一个row里面有多少数据,也就是table里的字段数

后面取的过程就很简单了,某个字段row[i] 为空的时候,不做row[i] ? row[i] : "NULL" 取到的会是个'\0',这个对于程序处理是比较危险的,为空的时候就附值一个标识是比较常用的做法。

fyi

以上回答你满意么?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5906743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存