创建 table tuserremotesessions 安装错误

Installation error creating table tuserremotesessions

正在全新机器和本地 MySQL 5.7 数据库上安装 Mura。根据安装说明,我浏览到 Mura index.cfm 文件以完成安装。我输入数据库和 DSN 信息。几秒钟后,我收到一条错误消息。

Error Executing Database Query.

Datasource: muracms

SQL: CREATE TABLE IF NOT EXISTS tuserremotesessions ( userID char(35) default NULL, authToken char(32) default NULL, data text, created datetime default NULL, lastAccessed datetime default NULL, PRIMARY KEY (userID) )

Code: 42000

Type: 42000

All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

刷新浏览器页面再次导致此错误。我可以看到数据库中已经创建了表。我尝试在互联网上搜索解决方案未成功。

有谁知道我可以做些什么来克服这个错误?我以前在其他服务器上成功安装过Mura,所以我真的很困惑。

对于那些 运行 遇到此错误的人,这是由于 MySql 5.7 与 MySql 5.6 的工作方式发生了变化。参见 http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-3.html。具体

Columns in a PRIMARY KEY must be NOT NULL, but if declared explicitly as NULL produced no error. Now an error occurs. For example, a statement such as CREATE TABLE t (i INT NULL PRIMARY KEY) is rejected.

我编辑了 {murahome}/requirements/mura/dbUpdates/5.2.0.cfm 中几个 table 的创建 table 语句,以删除 default NULL 语句两个 tables,然后一切正常。