xqxyk 发表于 2020-7-14 18:24:46

关于mysql中文字段名和多行插入的两个经验

本帖最后由 xqxyk 于 2020-7-14 18:26 编辑

由于工作方便,自己动手做了一个关于自备药物和生命体征的简单应用。电脑端用易语言,手机端用E4A,实在是懒得再去看英文了。刚开始建立数据库的时候没有想那么多,基本上都是用中文字段名,易语言的mysql用起来很方便,对中文字段支持得非常好,E4A就差点了,开始的时候怎么都查询不了中文字段,在论坛里搜索也没有找到答案。试来试去的,最后终于发现了在查询中文字段的时候字段需要用转移符+`,就是波浪符号下面那个符号。(例如:   MySQL数据库1.查询记录("yizhu","\`档案号\`,\`开嘱时间\`,\`医嘱内容\`,\`用量\`,\`单位\`,\`频次\`,\`备注\`","\`长期\` = 'c' and \`停嘱时间\` is null " ) ),这样就顺利查询出来mysql的中文字段名的数据了。第二个经验就是一次插入多行数据的问题,也是折腾了一下午,后来看了中间件的PHP文件,发现其中有一句:$sql=$mysql_s->query("INSERT INTO ".$mainbody." (".$mainbody.") VALUES (".$mainbody.")");,分析后得知这句话已经包含了括号,所以在处理多行数据的时候要在每一行中间再插入合适的括号符号。例如:


过程 提交暂存体征()
执行类型 = "提交暂存体征"
        变量 查询结果 为 文本型
        变量 行文本 为 文本型()
        变量 列文本 为 文本型()
        变量 行索引 为 整数型
        变量 列索引 为 整数型
        变量 sqlyuju 为 文本型          ' "INSERT INTO tizheng(ID,DATE,BP,PULSE,BREATH,TEM,WEIGHT,FASTINGGLU,PPGLU) VALUES"
        查询结果 = 数据库查询("select * from tizhengshuju",",",";")
        行文本 = 分割文本(查询结果,";")
        变量循环首 行索引=0 至 取数组成员数(行文本)-1
                列文本=分割文本(行文本(行索引),",")
          sqlyuju=sqlyuju &"'"& 列文本(1) &"','"& 列文本(2) &"','"& 列文本(3) &"','"& 列文本(4) &"','"& 列文本(5) &"','"& 列文本(6) &"','"& 列文本(7) &"','"& 列文本(8) &"','"& 列文本(9) &"'),("                     '不需要插入姓名,所以从列文本数组下标1开始
        变量循环尾
        sqlyuju=取文本左边(sqlyuju,取文本长度(sqlyuju)-3)
        MySQL数据库1.添加记录("tizheng","ID,DATE,BP,PULSE,BREATH,TEM,WEIGHT,FASTINGGLU,PPGLU",sqlyuju)
       

结束 过程

kongbuxiaoan 发表于 2020-7-15 07:43:10

我也是折腾2才高明白mysql

yudave 发表于 2020-7-15 13:42:00

进来看看了解一下

lx244286615 发表于 2020-7-17 00:03:23

学习了正好需要!谢谢

mmlai8 发表于 2020-7-19 02:09:46


进来看看了解一下

小学生 发表于 2020-9-3 00:05:08

6666666666666666666666

一只牛 发表于 2020-9-9 15:06:44

不错哦666
页: [1]
查看完整版本: 关于mysql中文字段名和多行插入的两个经验