PHPMyAdmin Designer View

This week I’ve been using phpMyAdmin for what feels like the first time in years. I’m happier at the command line, but needed some graphical representation of information and easy ways to export example queries for the book I’m working on. I noticed that phpMyAdmin now has a Designer tab, which shows relationships between tables and allows you to define them.

If your table types don’t support foreign keys, you can still draw links in here, and phpMyAdmin will show the id fields as links to the data they represent, which is quite a nice touch (MyISAM doesn’t support foreign keys). If your database does support foreign keys, then I found this post which explained that you must have an index on the column that will be the foreign key as well as a primary key on the table it references in order to be able to create the foreign key. If you see a box like this:

then a “real” foreign key is being created. You can choose what happens when rows are created or updated in the table.

PhpMyAdmin has improved a lot since I last used it, and although I can’t see me using this feature a whole lot I think it’s a brilliant addition for people just starting out with databases. Being able to create a foreign key and then observe the effects, and also get a graphical representation of the structure they have represented can only help. I’ve always liked PhpMyAdmin for beginners because it shows what SQL it just ran and I think this feature is useful in the same sort of way. I had no idea it was here and got a few surprised responses when I tweeted about it – so I thought I’d share!

8 thoughts on “PHPMyAdmin Designer View

  1. Thanks Lorna, I’ve used PHPMyAdmin some years ago, but now that you mention it, it worth a look again :)

  2. I didn’t have to do anything to enable this feature, I just installed it from aptitude and the tab was there and working. Maybe I have a new version of phpmyadmin?

  3. When I try to make a link, I get a loading 99% and another page loads and it displays about:blank in the address bar. Any ideas what is wrong?

  4. You have to upgrade or otherwise install tables in order to enable these features, this is unfortunate for shared hosting customers as they are generally not installed, even if the feature is enabled.

Leave a Reply

Please use [code] and [/code] around any source code you wish to share.

This site uses Akismet to reduce spam. Learn how your comment data is processed.