Я новичок в MySQL и ранее использовал Microsoft Access для SQL. Когда я пытаюсь добавить модель на сервер ([Database] -> [Синхронизировать модель]), сгенерированный автоматически SQL код выдает эту ошибкуОшибка 1064 в MySQL Workbench при синхронизации модели с сервером
Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near ')
REFERENCES `medicineproblems`.`SleepTimes`()
ON DELETE NO ACTION
' at line 7
SQL Code:
CREATE TABLE IF NOT EXISTS `medicineproblems`.`Records` (
`Date` DATE NOT NULL,
`SleepDuration` DECIMAL NOT NULL DEFAULT 0,
`MoodAverage` DECIMAL NOT NULL DEFAULT 0,
PRIMARY KEY (`Date`),
CONSTRAINT `SleepDuration`
FOREIGN KEY()
REFERENCES `medicineproblems`.`SleepTimes`()
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `MoodAverage`
FOREIGN KEY()
REFERENCES `medicineproblems`.`Mood`()
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
SQL script execution finished: statements: 5 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
Я хочу, чтобы иметь возможность знать, что пошло не так. Итак, в ваших ответах, можете ли вы рассказать мне возможные причины ошибки, чтобы я мог попытаться ее избежать?
Спасибо. Вы думаете, что будет предупреждение или что-то, если имя столбца опущено. –
@JamesYeoman Был. Он ожидает имя после '(', но он получил ')' вместо этого, поэтому он говорит, что там есть синтаксическая ошибка. – Barmar
@Barmar Я лично ожидал, что такое предупреждение появится, когда вы создадите ссылку в таблице, но не указываете ссылку –