我使用PHPMyAdmi
n 是为了方便更新远程数据库。
但默认情况下它不显示警告,这最近让我陷入了一些尴尬的麻烦,我正在更新一个 SET 字段,其中的字符串不在其列表中并且没有注意到问题。
我正在使用2.11.9.1 (Dreamhost's default install)
.
在PHPMyAdmin
wiki 上,它将“显示警告”列为2.9.0 版的一项功能,甚至将“显示所有警告”列为 2.10.2 的一项功能——但我该如何真正打开它呢?文档不是很好。
我使用PHPMyAdmi
n 是为了方便更新远程数据库。
但默认情况下它不显示警告,这最近让我陷入了一些尴尬的麻烦,我正在更新一个 SET 字段,其中的字符串不在其列表中并且没有注意到问题。
我正在使用2.11.9.1 (Dreamhost's default install)
.
在PHPMyAdmin
wiki 上,它将“显示警告”列为2.9.0 版的一项功能,甚至将“显示所有警告”列为 2.10.2 的一项功能——但我该如何真正打开它呢?文档不是很好。
我只是在寻找同样的东西。
当我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;
我不相信 Dreamhost 让您可以访问他们安装 phpMyAdmin 的配置文件。但是,您可以轻松地自己安装 phpMyAdmin,方法是从他们的网站下载源代码并将其解压缩到您要访问的目录(例如 your-domain.com/phpma)。然后,按照网站的说明编辑您的配置文件(其中应包括启用您所要求的警告)。
按照网站的说明编辑您的配置文件(其中应包括启用您所要求的警告)。
嗯,是的,它应该。但是我在配置文件中看不到它,在您链接到的页面中也看不到它。我已经在明显的地方寻找信息,相信我。
我可能弄错了,但如果我没记错的话,您需要访问 phpMyAdmin 配置文件才能启用它。