2

如果我尝试从 Flex (ActionScript) 代码执行以下 sql 命令:

INSERT INTO table_name (field1, field2) VALUES (1, 0), (2, 1), (3, 1), (4, 0)

我收到以下错误:

SQLError: 'Error #3115: SQL Error.', details:'near ',': syntax error', operation:'execute', detailID:'2003'
    at flash.data::SQLStatement/internalExecute()
    at flash.data::SQLStatement/execute()

如果我只对一个值对尝试相同的操作,则效果很好:

INSERT INTO table_name (field1, field2) VALUES (15, 66)

SQLite 应该支持多行插入,对吧?我尝试将第一个生成的 SQL 语句复制到 SQLite Expert 并将其粘贴到它的 SQL 选项卡中,它也可以正常工作,将所有对填充到表中。

我究竟做错了什么?谢谢。

4

1 回答 1

3

SQL-lite 的语法不同于其他“sql”语法,例如您在上面编写的语法。您尝试在 SQL-lite 中完成的语法是:

 INSERT INTO 'table_name'
      SELECT '1' AS 'field1', '0' AS 'field2'
UNION SELECT '2', '1'
UNION SELECT '3', '1'
UNION SELECT '4', '0'
于 2013-08-15T09:57:37.123 回答