0

我想使用单个插入查询在 SQLite 中添加多个项目/行,

 insert into suppliers (supoliers_no,supply_name,city,phone_no)
      values (1,'Ali','amman',111111), (2,'tariq','amman',777777), (3,'mohmmed','taiz',null);

可以使用 Sqlite 吗?

4

5 回答 5

3

一行代码中的多个插入行是

INSERT INTO TableName ( Column1, Column2,Column3 ) VALUES ( Value1, Value2 ,Value3), ( Value1, Value2,Value3 );

在您的情况下,代码是正确的,但是

(3,'mohmmed','taiz',null); 尝试给予一些价值。你也可以从这里参考

在单个 SQL 查询中插入多行?

于 2013-10-26T07:19:30.763 回答
2

这是可能的,但在 SQLITE 中执行此操作的方式不同,

尝试这个...

insert into myTable (mycol1,mycol2) 
select aValue as mycol1,anotherValue as mycol2 
union select moreValue,evenMoreValue 
union...

在你的情况下,它会是,

    INSERT INTO suppliers 
        SELECT 1 AS supoliers_no, 'Ali' AS supply_name, 'amman' AS city, 111111 AS phone_no
  UNION SELECT 2 , 'tariq' , 'amman' , 77777 
  UNION SELECT 3 , 'mohmmed' , 'taiz', null

记住小写字母中的 null 在 SQL Lite 中有效,因为phone_no在我的情况下,我在 INT 中创建了这个表和列

于 2013-10-26T07:44:30.480 回答
2

它应该是:-

insert into suppliers (supoliers_no,supply_name,city,phone_no) values (1,'Ali','amman',111111);

insert into suppliers (supoliers_no,supply_name,city,phone_no) values  (2,'tariq','amman',777777);

insert into suppliers (supoliers_no,supply_name,city,phone_no) values  (3,'mohmmed','taiz',null);

同样insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz',null);asnull不是 sql 中公认的关键字。所以你可能不得不尝试一下insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz','');

于 2013-10-26T07:12:58.093 回答
0

仅 SQLite 3.7.11及更高版本支持使用单个 INSERT 语句插入多条记录。在早期版本中,您必须使用INSERT ... SELECT ...withUNION ALL或使用多个语句。

于 2013-10-26T08:16:53.807 回答
-1

我们假设您的表格设计良好,现在您可以在表格中插入多条记录:

INSERT INTO Table ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )  

作为参考,请查看 MOC 课程 2778A - 在 SQL Server 2008 中编写 SQL 查询,否则您的设计中会出现问题,例如您无法将空数据插入表中。

于 2013-10-26T07:21:30.580 回答