尝试在SQL中插入多行时出现语法错误? [英] Syntax error when trying to insert multiple rows in SQL?

查看:145
本文介绍了尝试在SQL中插入多行时出现语法错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在一个命令中将多个值存储到具有两列的表中.这是我的命令,

I am trying to store multiple values into a table with two columns in a single command. Here is my command,

INSERT INTO CATEGORY
VALUES('BUS','BUSINESS'), ('CHN', 'CHILDREN'), ('COK', 'COOKING'), ('COM', 
'COMPUTER'), ('FAL', 'FAMILY LIFE'), ('FIT', 'FITNESS'), ('SEH', 'SELF HELP'), 
('LIT', 'LITERATURE');

在第一对值的逗号之后,出现红色下划线.我在做什么错了?

I get a red underline after my first pair of values where I have the comma. What am I doing wrong?

推荐答案

我将从列出列开始:

INSERT INTO CATEGORY (<colname1>, <colname2)
    VALUES ('BUS','BUSINESS'), ('CHN', 'CHILDREN'), ('COK', 'COOKING'), 
           ('COM', 'COMPUTER'), ('FAL', 'FAMILY LIFE'), ('FIT', 'FITNESS'), 
           ('SEH', 'SELF HELP'), ('LIT', 'LITERATURE');

并非所有数据库都支持多行的VALUES.因此,可能是导致您出现问题的原因.

Not all databases support VALUES with multiple rows. So that could be the cause of your problem.

例如,如果您正在使用不支持此功能的Oracle,则可以使用UNION ALL:

If you are using, say, Oracle that doesn't support this, you can use UNION ALL:

INSERT INTO CATEGORY (<colname1>, <colname2)
    SELECT 'BUS', 'BUSINESS' FROM DUAL UNION ALL
    SELECT 'CHN', 'CHILDREN' FROM DUAL UNION ALL
    . . .
    SELECT 'LIT', 'LITERATURE' FROM DUAL;

这篇关于尝试在SQL中插入多行时出现语法错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆