テーブルwp_userswordpressの構文は次のとおりです。
CREATE TABLE `wp_users` (
`ID` bigint(20) unsigned NOT NULL auto_increment,
`user_login` varchar(60) NOT NULL default '',
`user_pass` varchar(64) NOT NULL default '',
`user_nicename` varchar(50) NOT NULL default '',
`user_email` varchar(100) NOT NULL default '',
`user_url` varchar(100) NOT NULL default '',
`user_registered` datetime NOT NULL default '0000-00-00 00:00:00',
`user_activation_key` varchar(60) NOT NULL default '',
`user_status` int(11) NOT NULL default '0',
`display_name` varchar(250) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `user_login_key` (`user_login`),
KEY `user_nicename` (`user_nicename`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
そして、すでにワードプレス用に実装されているシステムを統合したかったのですが、テーブルwp_usersを接続するための外部キーに問題があります。
私はこのテーブルを持っています:
CREATE TABLE attach (
attach_id int unsigned NOT NULL auto_increment,
email varchar(60) NOT NULL default '',
PRIMARY KEY (attach_id),
FOREIGN KEY (email) REFERENCES wp_users(user_login_key)
ON UPDATE CASCADE ON DELETE CASCADE
)Engine=INNODB;
wp_usersからuser_emailに接続したかったのですが、user_loginとuser_emailは同じになります。また、他のテーブルの他の状況により、attach_idをwp_usersからIDへのFKとして定義することは完全に不可能です。
送信するとエラー#1005が発生します