工作结束后,我正在工作localhost。我想上传我的数据库服务器phpmyadmin。但是语法错误仍然如何解决?
1064-您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'(6)NULL DEFAULT NULL附近使用 使用BTREE的主键(
id
) )引擎=第7行的InnoDB AUTO'
DROP TABLE IF EXISTS `veriler`;
CREATE TABLE `veriler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`kullanici` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`gpa` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`durumu` int(10) NULL DEFAULT NULL,
`miktari` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`tarih` datetime(6) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
答案 0 :(得分:0)
尝试以下简化版本:
CREATE TABLE `veriler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`kullanici` varchar(60) DEFAULT NULL,
`gpa` varchar(255) DEFAULT NULL,
`durumu` int(10) DEFAULT NULL,
`miktari` varchar(20) DEFAULT NULL,
`tarih` datetime(6) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
答案 1 :(得分:0)
直到MySQL 5.6版本才添加对DATETIME
值的小数秒的支持。如果您无法升级服务器,则需要从列(6)
的定义中删除结尾的tarih
,即
`tarih` datetime NULL DEFAULT NULL,
请注意,相对于您的MariaDB服务器,这些值将失去精度。如果需要在数据值中存储微秒,则需要将MySQL服务器升级到5.6或更高版本。