1
create table S (SNO text, SNAME text, STATUS number, CITY text)
insert into S values('S1','Smith','20','London')
insert into S values('S2','Jones','10','Paris')
insert into S values('S3','Blake','30','Paris')
insert into S values('S4','Clark','20','London')
insert into S values('S5','Adams','30','Athens')

これが有効な SQL クエリではない理由を理解するのに苦労しています。回答を求めてグーグル検索を試みましたが、役に立ちませんでした。

JDBC を使用して Sqlite データベースにクエリを実行しようとしましたが、それを phpMyAdmins クエリ フィールドに挿入しようとしました。これは、phpMyAdmin によって表示されるエラー メッセージです。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'number, CITY text) insert into S values('S1','Smith','20','London') insert int' at line 1

4

4 に答える 4

2
CREATE TABLE `S` (`SNO` TEXT, `SNAME` TEXT, `STATUS` INT, `CITY` TEXT);

START TRANSACTION;

BEGIN;
INSERT INTO `S` VALUES ('S1', 'Smith', 20, 'London');
INSERT INTO `S` VALUES ('S2', 'Jones', 10, 'Paris');
INSERT INTO `S` VALUES ('S3', 'Blake', 30, 'Paris');
INSERT INTO `S` VALUES ('S4', 'Clark', 20, 'London');
INSERT INTO `S` VALUES ('S5', 'Adams', 30, 'Athens');
COMMIT;

これを試してみてください。

編集:

  • numberに変更INT
  • セミコロンを追加しました(Gabeが言及したように)
  • テーブル名と列名の前後にバッククォートを追加
  • 追加されたトランザクション (INSERTクエリの高速化、オプション)
  • 数字の周りの引用符を削除しました(christiandevが述べたように)
于 2013-11-06T17:05:03.590 に答える
2

探していたタイプNUMERICNUMBER. ;また、 MySQL ではステートメント間にセミコロンを入れる必要があります。

于 2013-11-06T16:58:52.010 に答える
1

quotes周りの数字はいらない

create table S (SNO text, SNAME text, STATUS number, CITY text)
insert into S values('S1','Smith',20,'London')

編集:私からfiddle

CREATE TABLE s
    (
      SNO VARCHAR(35) ,
      SNAME VARCHAR(35) ,
      STATUS INT ,
      CITY VARCHAR(35)
    ) ;
INSERT  INTO s
VALUES  ( 'S1', 'Smith', 20, 'London' ) ;
INSERT  INTO s
VALUES  ( 'S2', 'Jones', 10, 'Paris' )

SELECT  *
FROM    s

また、numberこれらのいずれかである必要がありますtypesか?

于 2013-11-06T17:00:08.953 に答える