[解決済み】SQLiteクエリで使用するためのシングルクォート文字のエスケープ
2022-04-11 09:04:47
質問
データベーススキーマ(今のところ1つのテーブルのみ)と、そのテーブルのINSERT文を1つのファイルに書きました。そして、次のようにデータベースを作成しました。
$ sqlite3 newdatabase.db
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .read ./schema.sql
SQL error near line 16: near "s": syntax error
私のファイルの16行目はこんな感じです。
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
問題は、シングルクォートのエスケープ文字です。シングルクォートを二重にエスケープすることも試してみました。
\\\'
の代わりに
\'
) を使っていますが、これもうまくいきませんでした。私は何を間違えているのでしょうか?
解決方法は?
シングルクォートを二重にしてみてください(多くのデータベースはそのように想定しています)、そうすると :
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there''s');
引用元 ドキュメント :
文字列定数は、文字列を一重引用符(')で囲むことによって形成されます。文字列内のシングルクォートは、パスカルのようにシングルクォートを2つ並べることでエンコードすることができます。バックスラッシュ文字を用いたC言語スタイルのエスケープは、標準SQLではないため、サポートされていません。BLOBリテラルは16進数データを含む文字列リテラルで、先頭に1つの "x" または "X" 文字が付きます ... リテラル値は、トークン "NULL"にすることもできます。
関連
-
[解決済み] .SQLiteファイルの開き方
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] razor viewエンジンでの@文字のエスケープ
-
[解決済み] 逐語的文字列リテラルで二重引用符をエスケープできますか?
-
[解決済み】SQLiteにブーリアン値を格納する
-
[解決済み】SQLiteでテーブルが存在しない場合のみ、テーブルを作成する。
-
[解決済み】SQLiteデータベースのロックを解除する方法は?
-
[解決済み】SQLITEでカラムを削除・追加する方法とは?
-
[解決済み】SQLiteデータベースファイルの拡張子は関係ありますか?
-
[解決済み】SQLiteでテーブルの構造を見るにはどうしたらいいですか?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .SQLiteファイルの開き方
-
[解決済み】INSERT IF NOT EXISTS ELSE UPDATE?
-
[解決済み】SQLiteでテーブルが存在しない場合のみ、テーブルを作成する。
-
[解決済み] [Solved] SQLiteデータベースのテーブルのカラム名を変更するには?
-
[解決済み】SQLiteデータベースのロックを解除する方法は?
-
[解決済み】SQLITEでカラムを削除・追加する方法とは?
-
[解決済み】SQLiteデータベースファイルの拡張子は関係ありますか?
-
[解決済み】ストアドプロシージャの作成とSQLite?
-
[解決済み】SQLiteクエリで使用するためのシングルクォート文字のエスケープ
-
[解決済み】SQLiteでテーブルの構造を見るにはどうしたらいいですか?重複