This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Table 'whd.API_KEY' doesn't exist

I am running WHD on Ubuntu 12.04 LTS. I am using MySQL as the database with Apache as the web server. A couple of weeks ago, I mistakenly applied some patches/upgrades to MySQL that caused numerous headaches for me. I was able to resolve all my other issues but I think I might have screwed something else up along the way. When I try to launch WHD from the local computer, I receive the 'whd.API_KEY' error mentioned above. Here is a screen shot of the error message.

4-1-2013 11-10-49 AM.png

I have confirmed in MySQL Workbench that the table does indeed exist.  I am at a loss where to look next or what to try to get this working again. Can anyone out there offer up any suggestions? Please let me know if you need more info. I wasn't sure what would be needed to help remedy the issue.

Thanks in advance.

  • Do you have any data in this table? If not I would drop it and re-create. Make sure to check what character set you are using and what engine.

    DROP TABLE `api_key`;

    CREATE TABLE `api_key` (

      `API_KEY` varchar(255) DEFAULT NULL,

      `APP_DESCRIPTION` varchar(80) DEFAULT NULL,

      `ID` int(10) NOT NULL,

      `SUBSCRIBER_ID` int(10) DEFAULT NULL,

      PRIMARY KEY (`ID`),

      KEY `SUBSCRIBER_ID` (`SUBSCRIBER_ID`),

      KEY `API_KEY` (`API_KEY`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    ALTER TABLE `api_key`

      ADD CONSTRAINT `API_KEY_subscriber_FK` FOREIGN KEY (`SUBSCRIBER_ID`) REFERENCES `subscriber` (`ID`);

  • I ran into this last night. We are testing this out in a new test environment. I had to add this setting to my "my.cnf" file on the Database Server. Turns out WHD was looking for whd.API_KEY while my DB it was whd.api_key. The below setting and reference page for MySQL should help you out.

    lower_case_table_names=1

    MySQL :: MySQL 5.0 Reference Manual :: 9.2.2 Identifier Case Sensitivity

  • I set that by default on any of MySQL box I have. Why? Because folks tend to name tables (not only in WHD case) as they pleased and make so much mess with that. So follow my example and make it your habit if you manage *nix boxes (has no impact on Win) emoticons_wink.png