首页 > 解决方案 > [42000][1064] SQL 错误:无法在 DataGrip 中执行新表。

问题描述

create table Users
(
    AttendeeID varchar not null,
    FRAG boolean null,
    FirstName string null,
    LastName string null,
    BadgeName varchar null,
    BadgeNumber int not null,
    DateOfBirth date null,
    EmailAddress int not null,
    Password password null,
    PrivacyPolicy boolean null,
    TermsConditions boolean null
);

create unique index Users_AttendeeID_uindex
   on Users (AttendeeID);

create unique index Users_BadgeNumber_uindex
    on Users (BadgeNumber);

create unique index Users_EmailAddress_uindex
   on Users (EmailAddress);

alter table Users
    add constraint Users_pk
        primary key (AttendeeID);

所以,我正在学习数据库,并且我正在为我的 dbms 使用 Datagrip,但是当我尝试执行此操作时,我收到了以下错误:

[42000][1064] 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“not null, FRAG boolean null, FirstName string null, LastName string null, Ba”附近使用正确的语法。

最初代码读取不为空,所以我将其更改为空,不明白问题是什么。我在以前的问题中没有找到答案,任何帮助都会很棒。谢谢。

标签: mysqldatagrip

解决方案


varchar需要有一个指定的长度,比如varchar(30)30 个字符。

string不是类型,使用varchar(LENGTH).

password不是一种类型,varbinary(LENGTH)因为我假设您做正确的事情并使用加盐哈希。


推荐阅读