2015-02-12 124 views
0
CREATE TABLE myCTGlobalFootprint (
     geoID INT NOT NULL AUTO_INCREMENT, 
     geoName VARCHAR(20) NOT NULL, 
     PRIMARY KEY (geoID) 
    ); 


INSERT INTO myCTGlobalFootprint 
    (geoName) 

VALUES 
    ('Canada'), 
    ('United States'), 
    ('Europe'), 
    ('International Misc.'); 

它在第15行抛出一个错误......任何见解都会被深深地赞赏!MySQL错误 - 我在这里做错了什么?

+1

什么错误? – 2015-02-12 05:41:40

+0

我试过你的代码,发现根本没有错误。看到这里:http://sqlfiddle.com/#!2/bb74ab/1/0 – Rigel1121 2015-02-12 05:43:46

+0

非常感谢你的时间! http://www.piliapp.com/mysql-syntax-check/ 我正在利用此验证程序来检查我的脚本(我处于无法访问我的闪亮编辑器atm的位置),它给出了一个模糊的警告,我需要检查查询从表声明的末尾到插入语句的更改。然而,他们独立验证。 – theroguemuppet 2015-02-12 05:45:12

回答

0

使用UNION喜欢:

INSERT INTO myCTGlobalFootprint (geoName) 
select 'Canada' 
UNION 
select 'United States' 
UNION 
select 'Europe' 
UNION 
select 'International Misc.'; 

否则你必须写四篇INSERT INTO之类的语句:

INSERT INTO myCTGlobalFootprint(geoName) VALUES('Canada'); 
INSERT INTO myCTGlobalFootprint(geoName) VALUES('United States'); 
INSERT INTO myCTGlobalFootprint(geoName) VALUES('Europe'); 
INSERT INTO myCTGlobalFootprint(geoName) VALUES('International Misc.'); 
+0

这在其他数据库中会出现,但MySQL提供了一个扩展,它允许单个插入语句为多行提供值; OP发布的语法将在MySQL中工作。这不是强制性的,它被重写为四个单独的插入语句。 – spencer7593 2015-02-12 05:46:38

+1

这就对了@ spencer7593,没有必要将它写入4个不同的插入查询中,或者甚至在只能使用逗号时使用UNION。 – Rigel1121 2015-02-12 05:48:03

相关问题