4

我使用PHPMyAdmin 是为了方便更新远程数据库。

但默认情况下它不显示警告,这最近让我陷入了一些尴尬的麻烦,我正在更新一个 SET 字段,其中的字符串不在其列表中并且没有注意到问题。

我正在使用2.11.9.1 (Dreamhost's default install).

PHPMyAdminwiki 上,它将“显示警告”列为2.9.0 版的一项功能,甚至将“显示所有警告”列为 2.10.2 的一项功能——但我该如何真正打开它呢?文档不是很好。

4

4 回答 4

1

我只是在寻找同样的东西。

当我INSERTs使用标准的 phpMyAdmin 'insert' 表单运行时,行会被插入,但会出现一个红色条,说明任何警告。但是当我进行批量插入时,不会出现任何警告,而是出现一个绿色条,只是说明受影响的行数(给你的印象是一切都成功了,而实际上它可能没有)。

SHOW WARNINGS我发现我必须手动发送命令。例如,在运行此查询时,我将两个语句都放入了 phpMyAdmin SQL 框中。

INSERT INTO test2 SELECT * FROM test1;
SHOW WARNINGS;

这给出了如下警告列表...

Level    Code   Message
Warning  1265   Data truncated for column 'a' at row 1
Warning  1265   Data truncated for column 'a' at row 3
Warning  1265   Data truncated for column 'b' at row 3
Warning  1366   Incorrect integer value: 'x' for column 'b' at row...


注意事项:

  • 您以后无法运行该SHOW WARNINGS命令,它将显示为空。当您单击“开始”时,它必须在您的初始查询框中。这是因为 MySQL 只保存您运行的最后一个查询的警告。每次您单击链接或按钮时,phpMyAdmin 都会在数据库上运行各种其他查询,因此您之前的警告会丢失。
  • phpMyAdmin 不支持显示来自自定义查询的多个结果。因此,将其作为一个 SQL 脚本执行是行不通的……(从 3.4.10.1 版开始

    INSERT INTO test2 VALUES ('my text', 'something else');
    SHOW WARNINGS;    # you won't see the warnings from here
    INSERT INTO test2 VALUES ('my text', 'something else');
    SHOW WARNINGS;
    

    虽然上述方法在 phpMyAdmin 中不起作用,但它应该在 MySQL 命令行客户端中正常工作。因此,如果需要,请使用它。

如果您确实有多个插入并且想要显示所有警告,则必须将它们链接在一起作为单个INSERT语句。例如:

INSERT INTO test2 VALUES 
('my text', 'something else'), 
('my text', 'something else');
SHOW WARNINGS;
于 2012-03-08T01:45:13.287 回答
1

我不相信 Dreamhost 让您可以访问他们安装 phpMyAdmin 的配置文件。但是,您可以轻松地自己安装 phpMyAdmin,方法是从他们的网站下载源代码并将其解压缩到您要访问的目录(例如 your-domain.com/phpma)。然后,按照网站的说明编辑您的配置文件(其中应包括启用您所要求的警告)。

于 2008-09-20T02:01:42.433 回答
0

按照网站的说明编辑您的配置文件(其中应包括启用您所要求的警告)。

嗯,是的,它应该。但是我在配置文件中看不到它,在您链接到的页面中也看不到它。我已经在明显的地方寻找信息,相信我。

于 2008-09-20T04:12:01.010 回答
0

我可能弄错了,但如果我没记错的话,您需要访问 phpMyAdmin 配置文件才能启用它。

于 2008-09-20T01:21:03.620 回答