我正在尝试将一个Excel文件上传到MySQL数据库中。我在导入MySQL文件#1166时出现语法错误-列名不正确...
CREATE TABLE IF NOT EXISTS `myfarmer`.`ville`
(
` Évosges ` VARCHAR( 42 ) ,
`1230` INT( 5 ) ,
`45.958333` DECIMAL( 8, 6 ) ,
`5.5` VARCHAR( 17 )
) ENGINE = MYISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
发布于 2014-08-08 22:38:03
列名开头不能有空格:
MariaDB [test]> create table foo (` bar ` int);
ERROR 1166 (42000): Incorrect column name ' bar '
MariaDB [test]> create table foo (`bar` int);
Query OK, 0 rows affected (0.00 sec)
所以
` Évosges ` VARCHAR( 42 ) ,
应该是
`Évosges` VARCHAR( 42 ) ,
发布于 2014-08-08 22:38:22
你正在混合创建表格和插入到这里,我的朋友...
CREATE table创建一个具有明确结构的存储空间,而INSERT INTO将数据插入到表中。
您的两个语句应该类似于:
CREATE TABLE IF NOT EXISTS myfarmer.cities (
name VARCHAR(42),
something INT(5),
longitude DECIMAL(8,6),
lontitude DECIMAL(8,6),
somethingelse VARCHAR(17)
);
然后
INSERT INTO myfarmer.cities VALUES('Évosges', 1230, 45.958333, 72.25122, 5.5);
发布于 2014-08-08 22:40:42
根据this的说法,“数据库、表和列的名称不能以空格字符结尾。”另外,我会删除Évosges
中的起始空格,因为它似乎是错误的。
https://stackoverflow.com/questions/25205893
复制相似问题