MYSQL - 选择和解析

我有一个数据库: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`)

在“files”中,我有所有这些:

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

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

点赞
用户3207788
用户3207788

我不确定这是否是你想要的,但我认为这可能有所帮助:

filename\_field 替换为你的列名。

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

更新

我不知道我是否正确,但你不应该以这种方式保存数据。你可以创建一个 files 表,并指定每行所属的用户。如下所示:

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'
2014-11-06 18:14:47