我使用以下SQL创建表:
CREATE TABLE `tests` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `tests_tests` (
`test_id` int(11) unsigned NOT NULL,
`parent_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`test_id`,`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后我运行bake命令:
bin/cake bake all tests
这将在URL /tests
上创建CRUD支架。如果单击Add Test
,将得到一个表格,可以在其中添加测试记录。因此,我添加了一些,这很好,只要我将自引用多选保留为空白即可。如果使用该选择,则会出现以下错误:
Cannot insert row, some of the primary key values are missing. Got (1, ), expecting (test_id, parent_id)
为什么会失败?这是Bug还是SQL CREATE语法问题,还是配置问题?