我正在使用hostgator托管的phpmyadmin向数据库中添加表,但不断出现以下错误:
1064-您的sql语法有错误;检查与您的mysql服务器版本对应的手册,以获得正确的语法,在第1行使用near')not null、note text not null、cardnumber bigint(20)not null和'namec'
以下是我所拥有的:
下面是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`)
)
是什么导致了这个问题?我把其中一个字段的长度弄错了吗?
4条答案
按热度按时间bf1o4zei1#
你可以试试下面-
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
))xqnpmsa82#
请尝试使用此mysql语句
创建表
guests
(id
int(3)非空自动增量,dateIn
日期不为空,dateOut
日期不为空,email
文本不为空,phone
int(10)不为空,room
tinyint(2)不为空,price
双精度(6,2)不为空,note
文本不为空,cardNumber
bigint(20)不为空,nameCard
文本不为空,expDate
文本不为空,cvc
tinyint(3)不为空,主键(id
));wvt8vs2t3#
试着用这个
而不是
注意:对于价格字段,最好使用数据类型decimal。在float或double数据类型中,您将得到舍入数问题
参考
gajydyqb4#