0

新しいマシンとローカルの MySQL 5.7 データベースに Mura をインストールします。インストール手順に従って、Mura index.cfm ファイルを参照してインストールを完了します。データベースと DSN 情報を入力します。数秒後、エラー メッセージが表示されます。

データベース クエリの実行中にエラーが発生しました。

データソース: muracms

SQL: CREATE TABLE IF NOT EXISTS tuserremotesessions( userIDchar(35) デフォルト NULL、 authTokenchar(32) デフォルト NULL、dataテキスト、createddatetime デフォルト NULL、lastAccesseddatetime デフォルト NULL、PRIMARY KEY ( userID) )

コード: 42000

タイプ: 42000

PRIMARY KEY のすべての部分は NOT NULL でなければなりません。キーに NULL が必要な場合は、代わりに UNIQUE を使用してください

ブラウザー ページを更新すると、このエラーが再び発生します。データベースにテーブルが既に作成されていることがわかります。解決策をインターネットで検索しようとしてもうまくいきませんでした。

このエラーを回避するために私ができることを知っている人はいますか? 以前に他のサーバーに Mura をインストールしたことがあるので、本当に困惑しています。

4

1 に答える 1

0

このエラーが発生した場合は、MySql 5.6 の動作から MySql 5.7 への変更が原因です。http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-3.htmlを参照してください。具体的には

PRIMARY KEY の列は NOT NULL である必要がありますが、明示的に NULL として宣言されてもエラーは発生しませんでした。これでエラーが発生します。たとえば、CREATE TABLE t (i INT NULL PRIMARY KEY) などのステートメントは拒否されます。

{murahome}/requirements/mura/dbUpdates/5.2.0.cfm のいくつかのテーブルの create table ステートメントを編集して、default NULL2 つのテーブルのステートメントを削除すると、すべて正常に機能しました。

于 2015-08-20T20:22:56.410 に答える