51290


プログラム初心者です。  
下記のコードを実行したところWHEREのところでエラーが出てしまって困っております。  
nameで入れたい型はcharacter(16)になっております。  
よろしくお願い致します。

エラー内容：

[code]

    sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) 演算子が存在しません: character = bigint
    LINE 1: select * from test2 WHERE test_code = 123456789101234
                                                          ^
    HINT:  指定名称、指定引数型に合う演算子がありません。明示的な型キャストが必要かもしれません
     [SQL: 'select * from test2 WHERE test_code = 123456789101234'] (Background on this error at: http://sqlalche.me/e/f405)
    
[/code]

コード：

[code]

    import sqlalchemy.ext.declarative
    import pandas as pd
    
    url = 'postgresql+psycopg2://postgres:*****@127.0.0.1:****/test'
    
    engine = sqlalchemy.create_engine(url)
    
    table_name ='test2'
    name = '123456789101234'
    query = 'select * from {} WHERE test_code = {}'.format(table_name, name)
    df = pd.io.sql.read_sql(query, engine)
    print('#############')
    print(df)
    
[/code]


CC BY-SA 4.0
2018-12-17T04:47:58.980
51283
2018-12-17T07:01:30.007
2018-12-17T04:56:31.163
3060
31490
question
python python3 pandas postgresql
pandasのpd.io.sql.read_sqlでのエラーについて


`test_code`は文字列ですか？  
それとも数字ですか？  
もし文字列でしたら`test_code`の部分を`' '`で囲んでみてください。そうすることによって、数字ではなく文字列として扱われます。


CC BY-SA 4.0
2018-12-17T07:01:30.007
51290
2018-12-17T07:01:30.007
31397
51283
answer