MySQL - PhpMyadmin - 创建多个表
MySQL - PhpMyadmin - Create Multiple Tables
我不明白为什么这个查询无法在 PHPMyAdmin 中创建这个 table 结构。
我总是收到此错误消息:
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 服务器的语法。 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)
);
table form_data
中有 2 个问题:
- form_id的类型,应该是INT UNSIGNED来匹配table的Id类型
form
- 使用formdata VARCHAR(MAX),你应该将MAX改为实数,例如255
试试这个代码:
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 更改为一个值。
我不明白为什么这个查询无法在 PHPMyAdmin 中创建这个 table 结构。
我总是收到此错误消息:
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 服务器的语法。 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)
);
table form_data
中有 2 个问题:
- form_id的类型,应该是INT UNSIGNED来匹配table的Id类型
form
- 使用formdata VARCHAR(MAX),你应该将MAX改为实数,例如255
试试这个代码:
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 更改为一个值。