2017-02-12 5 views
-1

エラー:SQL構文にエラーがあります。ループを介してデータを挿入しているときにMYSQLクエリがmysqlワークベンチで実行されていない

CREATE PROCEDURE myproc() 
BEGIN 
    DECLARE v1 INT DEFAULT 4; 
    WHILE v1 <= 94 DO 
     INSERT INTO `ostopd`.`identificationmandatorycheck` 
(`Id`, 
`UserId`, 
`voterId`, 
`passport`, 
`CreatedOn`, 
`CreatedBy`, 
`UpdatedOn`, 
`UpdatedBy`, 
`Active`, 
`Deleted`) 
VALUES 
(v1,v1,'O','O',CURRENT_TIMESTAMP,v1,NULL,NULL,0b1,0b0); 
     SET v1 = v1 + 1; 
    END WHILE; 
END; 

テーブルスキーマ

のId BIGINT(20)AI PK:ラインで '' 3 0.000秒

コードを近く使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください ユーザID BIGINT(20) voterIdのVARCHAR(1) パスポートVARCHAR(1) CreatedOnスタンプCREATEDBY BIGINT(20) UpdatedOnタイムスタンプ UpdatedByのBIGINT(20) アクティブビット(1) 削除ビット(1)

フルエラー応答 エラーコード:1064:SQL構文にエラーがあります。ラインで「」の近くに使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください3

+0

もショーに近い。..ある最も重要な部分の後にメッセージの一部.. – scaisEdge

+0

どの行が3行ですか? –

+1

プロシージャの定義は正常です - _run_しようとするとエラーが発生しますが、正しいですか? @scaisEdgeのように、残りのエラーメッセージを残すことは本当に役に立ちます。これを 'mysql-workbench'でタグ付けしたので、出力ペインでエラーのある行を選択し、右クリックして「コピーレスポンス」を選択してここに貼り付けることができます。 'identificationmandatorycheck'テーブルのcreateステートメントを表示すると便利です(ナビゲータペインでテーブルを右クリックし、クリップボードにコピー - >ステートメントの作成を選択してください)。 –

答えて

0

コード:

drop procedure if exists my_proc11; 

DELIMITER $$ 
CREATE PROCEDURE myproc11() 
BEGIN 
    DECLARE v1 INT; 
    SET v1 = 1; 
    WHILE v1 <= 94 DO 
     INSERT INTO `ostopd`.`educationmandatorycheck` 
(`UserId`, 
`degree`, 
`marksheet`, 
`collegeId`, 
`CreatedOn`, 
`CreatedBy`, 
`UpdatedOn`, 
`UpdatedBy`, 
`Active`, 
`Deleted`) 
VALUES 
(v1,'M','M','O',CURRENT_TIMESTAMP,v1,NULL,NULL,0b1,0b0); 
     SET v1 = v1 + 1; 
    END WHILE; 
END$$ 

DELIMITER ; 

call myproc11(); 
関連する問題