0

私は次の表を持っています

db.queries
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name      | varchar(256)     | NO   |     |         |                |
| sql       | text             | NO   |     | NULL    |                |
| frequency | int(10) unsigned | NO   |     | 86400   |                |

MySQLdb pythonツールを使用して、ラベル付けされた名前SQLクエリのような値を挿入しています。

cur.execute("insert into db.queries (name, sql, frequency) values ('{0}', '{1}', {2})".format('some query', 'Select a query', 86400)

私はこれまで何度も MySQL と MySQLdb を使用してきましたが、これらの問題は一度もありませんでした。

私が常に得ているエラーは次のとおりです。

_mysql_exceptions.ProgrammingError: (1064、"SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。'sql, frequency) 値 ('MY NAME', 'Select count( *) as' at line 1")

助けていただければ幸いです。

4

2 に答える 2

5

sqlは MySQL の予約語です。バックティックに入れる必要があります。

cur.execute("insert into db.queries (name, `sql`, frequency) values ('{0}', '{1}', {2})".format('some query', 'Select a query', 86400)
于 2013-10-28T16:26:43.843 に答える