質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2058閲覧

Python3 でSQLite3を使い、TEXTにシングルクォーテーションとダブルクォーテーションを含めた文字列を格納したい

karenDevice

総合スコア26

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/08/05 07:58

編集2020/08/05 10:22

前提・実現したいこと

標題の通りで、TEXTに'と"を含めた文字列を格納したいと思っていますが、"以降の文字が消えてしまいます。

試したこと

以下の実行に必要なテーブルは作成済の状態です。

1.次のコードをsqlite3から叩くとpiyoに「シングルクォーテーション(')ダブルクォーテーション(")」を登録できました。

sqlite3

1UPDATE hoge SET piyo='シングルクォーテーション('')ダブルクォーテーション(")';

2.ですがこれをPythonで実行しようとすると、"以降がなくなり、piyoの内容は、「シングルクォーテーション(')ダブルクォーテーション(」になってしまいます。

Python3

1with sqlite3.connect("fuga") as co: 2 cu = co.cursor() 3 q = "UPDATE hoge SET piyo='シングルクォーテーション('')ダブルクォーテーション(\")';" 4 cu.execute(q) 5 co.commit()

補足情報(FW/ツールのバージョンなど)

Pythonのバージョンは3.7.3に、SQLite3のバージョンは3.27.2です。
よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下のようにパラメータ(?)で渡してやればうまくいくかと思います。

Python

1# coding: utf-8 2 3import sqlite3 4 5print(sqlite3.version) # 2.6.0 6db = sqlite3.connect('fuga.db') 7c = db.cursor() 8 9s = u'シングルクォーテーション(\')ダブルクォーテーション(")' 10print(s) # シングルクォーテーション(')ダブルクォーテーション(") 11q = "UPDATE hoge SET piyo=?" 12c.execute(q, (s,)) 13db.commit() 14db.close() 15 16db = sqlite3.connect('fuga.db') 17c = db.cursor() 18c.execute('select piyo from hoge') 19print(c.fetchone()[0]) # シングルクォーテーション(')ダブルクォーテーション(") 20db.close()

投稿2020/08/05 08:43

can110

総合スコア38234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

karenDevice

2020/08/05 10:44

早速の回答ありがとうございます。 Pythonのバージョンが間違っておりました。正確には3.7.3でした。(質問のほうは修正済みです。) そして大変申し訳ありません。私のコードでも行けました。 理由はhtmlのタグでvalue属性に突っ込んだ際に、value="シングルクォーテーション(')ダブルクォーテーション(")"となっているのが原因でした。 重ねてお詫びいたします。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問