MYSQL - 选择并解析

时间:2014-11-06 17:57:55

标签: mysql parsing lua mariadb

我有我的数据库:public

我有我的桌子:info

在玩家Maria的行文件中我有这个:

['python22.dll', ''], ['python27.dll', ''], ['channel.inf', ''], ['devil.dll', ''],['is_hack.exe', '']

前4个是正常的,所以我不想在列表中看到它们...我只想抓住" is_hack.exe"

我获取所有(包括我的普通文件)的mysql查询是:

query("SELECT files FROM public.info WHERE player = 'Maria' ORDER BY actual_time DESC LIMIT 0,1;")

我需要看到所有不属于我的名字。喜欢:

FILE_FROM_OUTSIDE1 = is_hack.exe
FILE_FROM_OUTSIDE2 = stackoverflow.dll

如果您了解LUA,我可以将整个查询结果发送给LUA然后开始解析..但是如何?

修改

这是我的表:

CREATE TABLE `info` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `player` varchar(12) DEFAULT NULL,
  `type_check` varchar(10) DEFAULT NULL,
  `normal` varchar(20) DEFAULT NULL,
  `actual` int(3) DEFAULT NULL,
  `actual_time` varchar(20) DEFAULT NULL,
  `files` varchar(3000) DEFAULT NULL,
  PRIMARY KEY (`id`)

In" files"我有这一切:

['python22.dll', ''], ['python27.dll', ''], ['channel.inf', ''], ['devil.dll', ''],['is_hack.exe', '']

我只想选择is_hack.exe ..就像:print is_hack.exe

1 个答案:

答案 0 :(得分:0)

我不确定这是不是你想要的。但我认为这可能会有所帮助: 将filename_field替换为col名称。

query("SELECT files FROM public.info WHERE player = 'Maria' AND filename_field = 'is_hack.exe' ORDER BY actual_time DESC LIMIT 0,1;")

<强>更新

我不知道我是否正确,但您不应该保存这样的数据。您可以创建文件表并指定哪一个用户拥有每一行。像:

CREATE TABLE `playerfiles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player` int(11) DEFAULT NULL,
  `filename` varchar(60) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

然后您可以使用JOIN检索数据。

SELECT * FROM `info`
JOIN `playerfiles` ON `playerfiles.player` = `info.id`
WHERE `info.player` = 'Maria' and `playerfiles.filename` = 'THE NAME'