MYSQL Ошибка 1064 в DateTime и TimeStamp - PullRequest
0 голосов
/ 16 июня 2020

Добрый день, я создаю несколько таблиц в своей базе данных, и когда я пытаюсь сохранить, появляется эта ошибка

1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '0) NOT NULL, date_registered DATETIME NOT NULL, last_login TIMESTAMP NOT' в строке 1

Ошибки такого рода отлаживались здесь в Stackoverflow раньше, и решением было удалить длину из столбца TIMESTAMP. В других решениях было предложено удалить кавычки из идентификаторов столбцов или вместо них использовать галочки. К сожалению, мои столбцы DATETIME и TIMESTAMP не имеют длины, а идентификаторы столбцов имеют галочки вокруг них.

Вот как выглядит мой SQL оператор. Может кто-нибудь помочь?

CREATE TABLE `inventoryman_db`.`users` 
( `id` INT NOT NULL AUTO_INCREMENT , 
`full_name` VARCHAR(255) NOT NULL , 
`email` VARCHAR(255) NOT NULL , 
`password` VARCHAR(300) NOT NULL , 
`usertype` ENUM(0) NOT NULL , 
`date_registered` DATETIME NOT NULL , 
`last_login` TIMESTAMP NOT NULL , 
`notes` VARCHAR(255) NOT NULL COMMENT 'For verification and other purposes, we will store a random key here' , 
PRIMARY KEY (`id`)) 
ENGINE = InnoDB;

1 Ответ

0 голосов
/ 16 июня 2020

попробуйте это, вам нужно только добавить кавычки в enum ('0'), поскольку enum рассматривается как строка с индексацией его массивов.

CREATE TABLE `percept`.`users1` ( `id` INT NOT NULL AUTO_INCREMENT , 
`full_name` VARCHAR(255) NOT NULL , `email` VARCHAR(255) NOT NULL ,
`password` VARCHAR(300) NOT NULL ,
`usertype` ENUM('0') NOT NULL ,
`date_registered` DATETIME NOT NULL , 
`last_login` TIMESTAMP NOT NULL , 
`notes` VARCHAR(255) NOT NULL COMMENT 'For verification and other purposes, we will store a random key here' , 
PRIMARY KEY (`id`)) ENGINE = InnoDB `

просто добавьте кавычки в enum

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...