我不明白为什么这个查询不能在 PHPMyAdmin 中创建这个表结构。
我总是收到这个错误信息:
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 'MAX), FOREIGN KEY (form_id) REFERENCES form (Id) )' at line 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)
);
关于php - MySQL - PhpMyadmin - 创建多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36237049/