У меня есть следующий 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;
Затем я запускаю команду выпекания:
bin/cake bake all tests
Это создает леса CRUD на URL: /tests
. Если я нажимаю Add Test
, я получаю форму, в которую я могу добавить тестовые записи. Поэтому я добавляю несколько, и это хорошо, если я оставляю пустые ссылки на несколько ссылок. Если я использую этот выбор, то я получаю следующую ошибку:
Cannot insert row, some of the primary key values are missing. Got (1, ), expecting (test_id, parent_id)
Почему это не получается? Это ошибка или проблема синтаксиса SQL CREATE, или проблема конфигурации?