MySQL-PhpMyadmin-创建多个表

MySQL-PhpMyadmin-创建多个表,php,mysql,ddl,create-table,Php,Mysql,Ddl,Create Table,我不明白为什么这个查询不能在PHPMyAdmin中创建这个表结构 我始终收到此错误消息: 1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 接近"MAX",, 外键(form_id)引用第4行的form(id))' varchar(max)是MS SQL Server的语法。MySQL没有相应的版本,所以只能使用很长的版本。此外,解决此问题后,您将遇到一个问题,表单数据.form\u id与表单.id的类型不同(一个未签名,另一个未签名),因此无法

我不明白为什么这个查询不能在PHPMyAdmin中创建这个表结构

我始终收到此错误消息:

1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 接近"MAX",, 外键(form_id)引用第4行的form(id))'

varchar(max)
是MS SQL Server的语法。MySQL没有相应的版本,所以只能使用很长的版本。此外,解决此问题后,您将遇到一个问题,
表单数据.form\u id
表单.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)
);
varchar(max)
是MS SQL Server的语法。MySQL没有相应的版本,所以只能使用很长的版本。此外,解决此问题后,您将遇到一个问题,
表单数据.form\u id
表单.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)
);

表单数据中有两个问题:

  • 表单id的类型,它应该是INT UNSIGNED,以匹配表的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)
    );
    

    表单数据中有两个问题:

  • 表单id的类型,它应该是INT UNSIGNED,以匹配表的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更改为一个值

    您的错误来自:

    formdata VARCHAR(MAX),
    
    将MAX更改为一个值