如何让PHPMyAdmin显示MySQL警告?

问题描述:

为了方便更新远程数据库,我使用了PHPMyAdmi n。如何让PHPMyAdmin显示MySQL警告?

但是它并没有显示出警告,默认情况下,最近让我陷入了一些令人尴尬的麻烦,那就是我更新了一个字符串不在列表中并且没有注意到问题的SET字段。我正在使用2.11.9.1 (Dreamhost's default install)

PHPMyAdmin wiki上,它列出了“显示警告”作为version 2.9.0的一项功能,甚至“显示所有警告”作为2.10.2的一项功能 - 但我该如何实际打开它?文档不是很好。

我可能会误会,但如果我没有记错,您需要访问phpMyAdmin配置文件才能启用它。

我不相信Dreamhost让你访问配置文件来安装phpMyAdmin。但是,您可以通过从their website下载源代码轻松进行自己的phpMyAdmin安装,只需将其解压到要访问的目录(例如your-domain.com/phpma)即可。然后,按照website's instructions for editing your config file(其中应该包含启用的警告)。

按照网站的指示为 编辑您的配置文件(应该 包括启用的警告,就像你问 )。

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

我只是在寻找同样的事情。

当我使用标准phpMyAdmin'insert'表格运行INSERTs时,行会被插入,但会出现一个红色条,说明任何警告。但是当我做了一个批量插入,没有警告会出现,并出现一个绿色的栏,而不是只是说受影响的行数(给你的印象是它已全部成功,实际上可能没有)。我发现我不得不手动发送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 does 不支持支持显示自定义查询的多个结果。所以这样做是一个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工作,这SHOULD做工精细的MySQL命令在线客户端。所以如果你需要的话就使用它。

如果您有多个刀片和要显示所有警告,你必须把它们连在一起作为一个单一的INSERT声明。例如:

INSERT INTO test2 VALUES 
('my text', 'something else'), 
('my text', 'something else'); 
SHOW WARNINGS;