インストーラのMySQL4.0系対応
Posted: 2010年4月10日(土) 15:25
MySQL4.0環境でMODxのアップデートを試みたところ、チャンクやスニペットなどエレメンツまわりがアップデートされないことを確認しました。調べてみたところ、MySQL4.0系ではサポートされていないサブクエリを用いているのが原因のようです。
たとえばこの部分。これをサブクエリを用いない形式に書き換えるとよいのですが、SQL文は書き慣れないので苦戦中です。何をしようとしてるのか自体が理解できてないですが・・
コード: 全て選択
$rs = mysql_query("REPLACE INTO $dbase.`" . $table_prefix . "categories` (`id`,`category`) ( SELECT MIN(`id`), '$category' FROM ( SELECT `id` FROM $dbase.`" . $table_prefix . "categories` WHERE `category` = '$category' UNION SELECT (CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(`id`)+1 END ) `id` FROM $dbase.`" . $table_prefix . "categories` ) AS _tmp )", $sqlParser->conn);