2015-06-27 257 views
6

PMA具有添加中央列的工具。据我了解,它用于国外的限制。我有两个表格:TableATableB如何在phpmyadmin中使用“中央列”?

TableA结构:id_of_Aname_of_A_valueTableB...

结构:id_of_Bforeign_id_of_A...和外国约束从foreign_id_of_AA-tableid_of_A

因为只有id_of_A的值是可见的,所以选择所需的foreign_id_of_A同时插入新行到TableB是非常困难的。中央专栏能帮助我解决这个问题吗?中央柱如何工作?

回答

4

中央纵队

您可以按照您的要求添加/删除列到列表中。当您为表格创建新列或创建表格时,中央列表中的这些列将可用。您可以在创建新列时从中央列表中选择一个列,这样可以避免再次编写同一列定义或为类似列写入不同名称。

为了让这个功能的用法:

  1. 设立$cfg['Servers'][$i]['pmadb']和phpMyAdmin的配置 存储

  2. $cfg['Servers'][$i]['central_columns'](e.g. pma__central_columns)

此功能可以把表名通过将配置设置为false来禁用。

3

我发现这里是一个详尽的描述:

,顾名思义,中央列功能能够维持每个数据库列的中央列表,以避免类似的名称相同的数据元素,并把相同数据元素的数据类型的一致性。您可以使用中央列列表将元素添加到该数据库中的任何表结构中,这样可以节省编写相似列名称和列定义的空间。

要将一列添加到中央列表中,请转到表格结构页面,选中要包含的列,然后单击“添加到中央列”。如果要从数据库的多个表中添加所有唯一列,请转到数据库结构页面,选中要包含的表,然后选择“向列表中添加列”。

要从中央列表中删除列,请转到表结构页面,选中要删除的列,然后单击“从中央列删除”。如果要从数据库中删除多个表中的所有列,请转到数据库结构页面,选中要包含的表,然后选择“从中央列表中删除列”。

要查看和管理中央列表,请选择要管理中央列的数据库,然后从顶部菜单中单击“中央列”。你将被带到一个页面,在那里你可以选择编辑,删除或添加新的列到中央列表。

http://lees.geo.msu.edu/phpmyadmin/doc/html/faq.html

可能是外国的约束建模是有用的,但在使用中是绝对没有用的。我仍在寻找一种解决方案,通过另一个表中的ID将值添加到一个表中,以便人们可以理解,而不是计算机。如果你知道如何做到这一点,请告诉我。

+0

这是一个不同的问题。 – Strawberry

2

也许您要查找的功能是表结构视图中“关系视图”下的“显示列”。这允许您选择PHPMyAdmin界面中显示的列,而不管存储在数据库外键约束中的内容。

如果未显示该行,则需要启用PHPMyAdmin中的功能。请参阅FAQ Entry和相关配置选项条目:$cfg["servers"][$i]["relation"]$cfg["servers"][$i]["table_info"](在上一个链接中,发布时(我没有足够的信誉发布超过2个链接))。

基本上,您可以在PHPMyAdmin可以用来存储额外数据的数据库中创建一对表格,然后告诉它它们是哪些表格。完成此操作后,PHPMyAdmin将让您选择显示哪些列(将鼠标悬停在链接列上以及编辑数据时)。如果您通过软件包管理器将其安装在Linux发行版上,它应该已经为您创建了这些表格(或者至少询问过您是否想要),否则重新安装软件包可能会有所帮助。我没有将它安装在Windows或Mac OS X上的经验,但我认为有一些为这些平台创建这些表的自动化方法。 (在Debian和基于Debian的Linux发行版(例如Ubuntu)上,额外的数据库配置为db-config-common。如果在安装时没有配置,dpkg-reconfigure phpmyadmin将允许您设置数据库(请注意,可能会破坏在phpMyAdmin一些用户/系统首选项)。)