简体   繁体   中英

MySQL error while trying to create table,

I'm using PHPMyAdmin, hosted with hostgator, to add a table to a database, but I keep getting the following error:

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

Here's what I have: 在此输入图像描述 and here's the preview of the 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`)
)

What's causing this issue? Do I have the length of one of the fields wrong?

Try to use this

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

instead of

price` DOUBLE(6) NOT NULL

Note: for price field use datatype DECIMAL more preferable. In FLOAT or DOUBLE datatype you will get rounding number issue

Reference

You can try below - DOUBLE(6) should be only 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`))
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`));

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 ));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM