« ブログ名を変えてみました | メイン | 文字コードをUTFに戻しました »
あとからカテゴリーを追加しても駄目?
2004年07月28日
カテゴリを登録したので、今までのエントリーを分類しようと思いました。

でも、上手くいかないんです。

原因は直接MySQLを更新してしまったから?

それだけではないと思うのですが....

エラーがでます。
原因がわかりました(笑)

MySQLなんて、ぜんぜん関係なくって、
ウェブログの設定>アーカイブの設定>アーカイブ のカテゴリーがチェックされていないままでした。
これじゃいくら、データで「関連づけるよ」といっても駄目なんですね....。

データ側(MySQL)でのカテゴリの関連付けは下記の方法でOKでした。
ただ、管理画面から一括更新できるようになっていることにあとで気付きました。
私の環境ではDBを更新したほうがうんと速いですが、管理画面がサクサク動く環境でしたら、そちらで更新されるとよいと思います。
(というかそちらのほうがまっとうなやり方だと思います。)

SQLでのカテゴリとエントリーの関連付けの覚書
mysql> select category_id,category_label from mt_category;
+-------------+--------------------+
| category_id | category_label     |
+-------------+--------------------+
|           1 | MTについてあれこれ |
|           2 | セキュリティー     |
|           3 | MyAudi             |
+-------------+--------------------+
3 rows in set (0.00 sec)

※mt_entryテーブルのentry_category_idをすべて1に更新した後、うまく
表示されなかったので、検索してみました

mysql> select entry_title,entry_category_id as cat_id
    -> from mt_entry;
+-------------------------------------------------------------+--------+
| entry_title                                                 | cat_id |
+-------------------------------------------------------------+--------+
| Movable Type 3.0 Developer Edition日本語版ベータ 設定時メモ |      1 |
| コメントのプレビュー の問題、 画像のサムネイル             |      1 |
| スタイルシート                                              |      1 |
| (続)スタイルシート                                          |      1 |
| コメントプレビューの不具合修正について                      |      1 |
| formmail.cgiのセキュリティホールを狙った攻撃                |      1 |
| MySQLへの移行..あれこれ                                     |      1 |
| 今後の課題....文字コード変換など                            |      1 |
| 文字コードの変換をやってみた                                |      1 |
| 内部はEUCでも、Webサイト側はUTFで構築...って出来ない?      |      1 |
| 最近のコメント?                                            |      1 |
| MT3.0DEのコメント登録エラー                                 |      1 |
| 文字コード、UTF-8に戻そうかな?                             |      1 |
| とりあえずはEUC-JPのままで文字化けを修正                    |      1 |
| ブログ名を変えてみました                                    |      1 |
+-------------------------------------------------------------+--------+
15 rows in set (0.01 sec)

※mt_placementというそれらしきテーブルをみつけました。

mysql> describe mt_placement;
+-----------------------+------------+------+-----+---------+----------------+
| Field                 | Type       | Null | Key | Default | Extra          |
+-----------------------+------------+------+-----+---------+----------------+
| placement_id          | int(11)    |      | PRI | NULL    | auto_increment |
| placement_entry_id    | int(11)    |      | MUL | 0       |                |
| placement_blog_id     | int(11)    |      |     | 0       |                |
| placement_category_id | int(11)    |      | MUL | 0       |                |
| placement_is_primary  | tinyint(4) |      | MUL | 0       |                |
+-----------------------+------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

mysql> select * from mt_placement;
+--------------+--------------------+-------------------+-----------------------
+----------------------+
| placement_id | placement_entry_id | placement_blog_id | placement_category_id
| placement_is_primary |
+--------------+--------------------+-------------------+-----------------------
+----------------------+
|            1 |                 16 |                 1 |                     1
|                    1 |
+--------------+--------------------+-------------------+-----------------------
+----------------------+
1 row in set (0.00 sec)

※やっぱりコレだということで、追加登録しました。

mysql> insert into mt_placement
    -> (
    -> placement_entry_id
    -> ,placement_blog_id
    -> ,placement_category_id
    -> ,placement_is_primary
    -> )
    -> select
    -> entry_id
    -> ,1
    -> ,1
    -> ,1
    -> from mt_entry
    -> where entry_id != 16;
Query OK, 14 rows affected (0.00 sec)
Records: 14  Duplicates: 0  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

※2004.08.01 追加 文字コードをUTF-8に変更しました。 そのため、↑のSQLの表示の□の部分が崩れてしまっています。

投稿者 megu : 2004年07月28日 19:42

コメント

コメントしてください




保存しますか?