CREATE TABLE IF NOT EXISTS `creditors` (
`id` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` varchar(50) NOT NULL,
`route` varchar(255) NOT NULL,
`mobile` int(10) NOT NULL,
`credit_amount` double(100) NOT NULL,
`start_date` date NOT NULL,
`due_date` date NOT NULL,
UNIQUE KEY `idUnique` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
MySQL
说:文档
#1064 - 您的SQL语法出错;检查手册 对应于您的MariaDB服务器版本,以获得正确的语法 靠近')NOT NULL,
start_date
日期非空,due_date
日期非空,'在第6行
此SQL查询中的语法错误是什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
错误在于此声明:
`credit_amount` double(100) NOT NULL
在双数据类型中100之后给出精度。
解决方案:
`credit_amount` double(100,0) NOT NULL
在0
后给出小数点后的位数,而不是100
。
答案 2 :(得分:0)
如果您想使用double
,则必须同时指定M
和D
M
是总数字位数,其中D
位数可能位于小数点后,即double(10,0)
。否则请使用允许float
等语法的float(10)
。
此外,除非您真正从中受益,否则请勿使用latin1
字符集,而应使用UTF-8