単一の挿入クエリを使用して 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を使用することは可能ですか?
1行のコードで複数の行を挿入するのは
INSERT INTO TableName ( Column1, Column2,Column3 ) VALUES
( Value1, Value2 ,Value3), ( Value1, Value2,Value3 );
あなたの場合、コードは正しいですが、
(3,'mohmmed','taiz',null);
値を与えてみてください。また、ここから参照することもできます
これは可能ですが、これを行う方法は 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で機能することを覚えておいてください
そのはず:-
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','');
単一の INSERT ステートメントによる複数のレコードの挿入は、SQLite 3.7.11以降でのみサポートされています。以前のバージョンでは、 with を使用INSERT ... SELECT ...
するUNION ALL
か、複数のステートメントを使用する必要がありました。
テーブルの設計が適切であると仮定すると、テーブルに複数のレコードを挿入できるようになりました。
INSERT INTO Table ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
これを参照するには、MOC コース 2778A - SQL Server 2008 での SQL クエリの記述を参照してください。この作業を行わないと、null データをテーブルに挿入できないなど、設計に問題があります。