0

テーブルに8行を追加するように求められます。

insert into Rating ( rID, mID, stars, ratingDate ) 
values ('207', '101', '5', null), ('207', '102', '5', null),
       ('207', '103', '5', null), ('207', '104', '5', null),
       ('207', '105', '5', null), ('207', '106', '5', null),
       ('207', '107', '5', null), ('207', '108', '5', null)

この操作は、1つの値を追加するとうまく機能しますが、複数を追加するとエラーが発生します

クエリの実行に失敗しました:「、」の近く:構文エラー

何が欠けている?

4

4 に答える 4

3

遅い回答 SQLITEバージョン3.7.11以降を使用している場合、この構文で複数の行を挿入できます。

最も簡単な方法

INSERT INTO Rating (rID, mID, stars, ratingDate) VALUES ('207', '102', '5', null) , ('207', '102', '5', null) , ('207', '102', '5', null)

問題に投稿された上記の句は、新しい SQLITE バージョンが使用されている場合に機能します。

選択節

insert into Rating 
        SELECT '207' AS rID, '101' AS mID, '5' AS stars, null AS ratingDate   
  UNION SELECT '207', '102', '5', null
  UNION SELECT '207', '103', '5', null
  UNION SELECT '207', '104', '5', null
  UNION SELECT '207', '105', '5', null
  UNION SELECT '207', '106', '5', null            
  UNION SELECT '207', '107', '5', null
  UNION SELECT '207', '108', '5', null

またはSQLは

insert into Rating (rID, mID, stars, ratingDate)
        SELECT '207', '101', '5', null 
  UNION SELECT '207', '102', '5', null
  UNION SELECT '207', '103', '5', null
  UNION SELECT '207', '104', '5', null
  UNION SELECT '207', '105', '5', null
  UNION SELECT '207', '106', '5', null            
  UNION SELECT '207', '107', '5', null
  UNION SELECT '207', '108', '5', null

上記の挿入された値のセットで重複をチェックしたくないことを思い出してください。少し高速になるためUNION ALL、代わりに使用します。UNION

于 2013-10-28T04:30:31.220 に答える
0

あなたのRDBMSはそのような構造をサポートしていないと思います。

insert into Rating ( rID, mID, stars, ratingDate ) 
values ('207', '101', '5', null);
insert into Rating ( rID, mID, stars, ratingDate ) 
values ('207', '102', '5', null);
.....
于 2013-01-25T16:59:49.127 に答える
0

私は推測します:

insert into Rating ( rID, mID, stars, ratingDate ) values ('207', '101', '5', null);
insert into Rating ( rID, mID, stars, ratingDate ) values ('207', '102', '5', null);
...
insert into Rating ( rID, mID, stars, ratingDate ) values ('207', '108', '5', null);
于 2013-01-25T17:00:09.833 に答える
0

sqlliteでテーブルを作成しました。テーブル作成スクリプトは次のとおりです

 create table Rating (rID varchar(10),mID varchar(10),stars varchar(10),ratingDate date);

そして、私は次のクエリを使用して上記のテーブルに挿入しました。

insert into Rating ( rID, mID, stars, ratingDate ) 
values ('207', '101', '5', null), ('207', '102', '5', null),
       ('207', '103', '5', null), ('207', '104', '5', null),
       ('207', '105', '5', null), ('207', '106', '5', null),
       ('207', '107', '5', null), ('207', '108', '5', null);
于 2013-01-25T17:22:19.410 に答える