Я не могу понять, почему этот запрос не работает для создания этой структуры таблицы в PHPMyAdmin.
Я всегда получаю это сообщение об ошибке:
около ‘MAX),
КЛЮЧЕВОЙ КЛЮЧ (form_id) ССЫЛКИ form (Id)) ‘в строке 4
CREATE TABLE form(
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(500),
Is_Active BIT,
Is_Trash BIT,
Date_Created DATETIME
);
CREATE TABLE form_data(
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
form_id INT,
formdata VARCHAR(MAX),
FOREIGN KEY (form_id) REFERENCES form (Id)
);
varchar(max)
синтаксис MS SQL Server MySQL не имеет эквивалента, поэтому вам просто придется использовать очень длинный размер. Кроме того, как только вы решите эту проблему, вы столкнетесь с проблемой, когда form_data.form_id
не того же типа, что и form.id
(один не подписан, а другой нет), поэтому он не может ссылаться на него. Короче:
CREATE TABLE form_data(
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
form_id INT UNSIGNED, -- Second issue
formdata VARCHAR(4000), -- First issue
FOREIGN KEY (form_id) REFERENCES form (Id)
);
В таблице 2 проблемы form_data
:
form
Попробуйте этот код:
CREATE TABLE form(
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(500),
Is_Active BIT,
Is_Trash BIT,
Date_Created DATETIME
);
CREATE TABLE form_data(
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
form_id INT UNSIGNED,
formdata VARCHAR(255),
FOREIGN KEY (form_id) REFERENCES form (Id)
);
Ваша ошибка произошла от:
formdata VARCHAR(MAX),
Измените MAX на значение.