尝试创建表时出现MySQL错误,

问题描述 投票:1回答:4

我正在使用与hostgator一起托管的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 ') NOT NULL , note TEXT NOT NULL , cardNumber BIGINT(20) NOT NULL , `nameC' at line 1

这就是我所拥有的:enter image description here,这里是SQL的预览版

CREATE TABLE `nightwin_mark-inn`.`guests` (
    `id` INT(3) NOT NULL AUTO_INCREMENT , 
    `dateIn` DATE NOT NULL , 
    `dateOut` DATE NOT NULL , 
    `email` TEXT NOT NULL , 
    `phone` INT(10) NOT NULL , 
    `room` TINYINT(2) NOT NULL , 
    `price` DOUBLE(6) NOT NULL , 
    `note` TEXT NOT NULL , 
    `cardNumber` BIGINT(20) NOT NULL , 
    `nameCard` TEXT NOT NULL , 
    `expDate` TEXT NOT NULL , 
    `cvc` TINYINT(3) NOT NULL , 
    PRIMARY KEY (`id`)
)

是什么导致了这个问题?我有一个字段的长度错了吗?

mysql sql
4个回答
1
投票

你可以尝试下面 - DOUBLE(6)应该只有DOUBLE

CREATE TABLE `nightwin_mark-inn`.`guests` ( `id` INT(3) NOT NULL AUTO_INCREMENT , 
`dateIn` DATE NOT NULL , `dateOut` DATE NOT NULL , `email` TEXT NOT NULL , 
`phone` INT(10) NOT NULL , `room` TINYINT(2) NOT NULL , `price` DOUBLE NOT NULL , 
`note` TEXT NOT NULL , `cardNumber` BIGINT(20) NOT NULL , `nameCard` TEXT NOT NULL , 
 `expDate` TEXT NOT NULL , `cvc` TINYINT(3) NOT NULL , PRIMARY KEY (`id`))

2
投票

试着用这个

price` DOUBLE(6,2) NOT NULL   //9999.99 max value stored

代替

price` DOUBLE(6) NOT NULL

注意:对于价格字段,使用数据类型DECIMAL更为可取。在FLOAT或DOUBLE数据类型中,您将获得舍入数字问题

Reference


0
投票
please try using this MySQL statement

CREATE TABLE `guests` ( `id` INT(3) NOT NULL AUTO_INCREMENT ,  `dateIn` DATE NOT NULL , `dateOut` DATE NOT NULL , `email` TEXT NOT NULL ,  `phone` INT(10) NOT NULL , `room` TINYINT(2) NOT NULL , `price` DOUBLE(6,2) NOT NULL ,  `note` TEXT NOT NULL , `cardNumber` BIGINT(20) NOT NULL , `nameCard` TEXT NOT NULL ,      `expDate` TEXT NOT NULL , `cvc` TINYINT(3) NOT NULL , PRIMARY KEY (`id`));

0
投票

请尝试使用此MySQL语句

CREATE TABLE guestsid INT(3)NOT NULL AUTO_INCREMENT,dateIn DATE NOT NULL,dateOut DATE NOT NULL,email TEXT NOT NULL,phone INT(10)NOT NULL,room TINYINT(2)NOT NULL,price DOUBLE(6,2) )NOT NULL,note TEXT NOT NULL,cardNumber BIGINT(20)NOT NULL,nameCard TEXT NOT NULL,expDate TEXT NOT NULL,cvc TINYINT(3)NOT NULL,PRIMARY KEY(id));

© www.soinside.com 2019 - 2024. All rights reserved.