meta_id はユニーク値であればいいので、phpMyAdmin で SQL インポートさせるとき NULL を指定しておけばいいです。そうすると、MySQL が適切に値を入れてくれます。
lilyfanさん、アドバイスをありがとうございます。
「Nullを指定する」ということですが、sqlのこの部分を書き換えるのでしょうか。
NOT NULL → NULL
CREATE TABLE wp_postmeta
(
meta_id
bigint(20) NOT NULL auto_increment,
post_id
bigint(20) NOT NULL default ‘0’,
meta_key
varchar(255) default NULL,
meta_value
longtext,
PRIMARY KEY (meta_id
),
KEY post_id
(post_id
),
KEY meta_key
(meta_key
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=44943 ;
あるいは、
(meta_id
, post_id
, meta_key
, meta_value
)
の’meta_id’の部分を ‘null’ もしくは空にするということですか。
私も知識があやふやなので、具体的に書き方を教えて頂けると有り難いです。
お手数かけますが、よろしくお願いします。
CREATE TABLE wp_postmeta (
meta_id bigint(20) NOT NULL auto_increment,
post_id bigint(20) NOT NULL default '0',
meta_key varchar(255) default NULL,
meta_value longtext,
PRIMARY KEY (meta_id),
KEY post_id (post_id),
KEY meta_key (meta_key)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=44943 ;
これはテーブル定義なので、WordPress のインストールが自動的に発行するため、自分で書く必要はありません。
実際の値のインポートは INSERT 文を発行します。このとき、meta_key の値として NULL を使うということです。例えば、
INSERT INTO wp_postmeta SET (meta_id, post_id, meta_key, meta_value) VALUES (NULL, 100, 'なんちゃら');
ということです。なお、’NULL’ とすると、NULL という文字列になってしまい、NULL 値にはならないのでいけません。
lilyfanさん、どうもありがとうございました。
上記の方法で上手く行きました!
これでラクラク管理できるようになりました。
本当に助かりました。