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

1行のコードで複数の行を挿入するのは

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

phone_no私の場合、INTでこのテーブルと列を作成したので、小文字のnullはSQL Liteで機能することを覚えておいてください

于 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

単一の INSERT ステートメントによる複数のレコードの挿入は、SQLite 3.7.11以降でのみサポートされています。以前のバージョンでは、 with を使用INSERT ... SELECT ...するUNION ALLか、複数のステートメントを使用する必要がありました。

于 2013-10-26T08:16:53.807 に答える
-1

テーブルの設計が適切であると仮定すると、テーブルに複数のレコードを挿入できるようになりました。

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

これを参照するには、MOC コース 2778A - SQL Server 2008 での SQL クエリの記述を参照してください。この作業を行わないと、null データをテーブルに挿入できないなど、設計に問題があります。

于 2013-10-26T07:21:30.580 に答える