MySQLでプライマリーキーの存在確認をしたい

実現したいこと

コードを最適化ししたい

前提

とりあえず、ぐぐりながら下記のようにコードを書いてみました。
ですが、プライマリーキーの存在確認はもっとシンプルにできるような気がするのですが、ぐぐっても分かりませんでした。
下記のコードのようにするしかないのでしょうか?

発生している問題・エラーメッセージ

無し

該当のソースコード

python3

1#!/usr/local/bin/python3.7 2# coding:utf-8 3 4import mysql.connector 5 6import _setting 7#randomSize = _setting.randomSize # randomのバイト数 8mysqlUserName = _setting.mysqlUserName # ユーザー名 9mysqlPassword = _setting.mysqlPassword # パスワード 10mysqlHost = _setting.mysqlHost # ホスト名(IPアドレス) 11mysqlDatabase = _setting.mysqlDatabase # データベース名 12 13print('Content-Type: text/html\n\n') 14 15primaryKey = 'マッキントッシュ' # 検索する内容 16 17# 接続情報を記述 18conn = mysql.connector.connect( 19 host = mysqlHost, 20 user = mysqlUserName, 21 password = mysqlPassword, 22 database = mysqlDatabase, 23) 24 25# 接続状況確認 26if conn.is_connected(): 27 try: 28 # 再接続を行うように設定 29 conn.ping(reconnect=True) 30 31 # カーソル作成 32 cr = conn.cursor(dictionary=True) 33 34 # クエリを作成 35 sql = (''' 36 SELECT * 37 FROM YSC_test001 38 WHERE user_name = %s 39 ''') 40 41 # where句のデータを指定 42 param = (primaryKey,) 43 44 # selectを実行 45 cr.execute(sql,param) 46 47 # 実行結果 48 if cr.rowcount > 0: 49 print(f'「{primaryKey}」はプライマリーキーに存在します。') 50 else: 51 print(f'「{primaryKey}」 is Not Found.') 52 53 except mysql.connector.Error as e: 54 55 print(e) 56 57 finally: 58 # クローズ 59 if cr is not None: 60 cr.close() 61 if conn is not None and conn.is_connected(): 62 conn.close() 63else: 64 65 exit()

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

mysql Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using EditLine wrapper
Python 3.7.16

コメントを投稿

0 コメント