0

と という名前のデータベースにいくつかのテーブルがあり19efdf22eeefaa6dc322be094bb2da475d4d457cます8e0b5a906b375bc5f6c44ca4274d7374ea43435a

コードを実行すると

SELECT * 
FROM table_name
ORDER BY name ASC

table_name上記のテーブルの 1 つである場合、クエリは 2 番目のテーブルでは失敗しますが、最初のテーブルでは失敗し、その理由はわかりません。

これはランダムに発生するようで、テーブル名を「`」(墓標) で囲むと問題なく動作することがわかりましたが、Web フレームワークに web.py を使用しており、簡単に使用できる便利なラッパーがいくつかあります。挿入と選択を含むクエリ。

私は Python ハッシュ関数を使用してこれらの文字列を生成していますが、それらはすべてほとんど同じです (つまり、同じではありませんが、すべて似ています)。

4

2 に答える 2

1

MySQL では、名前が 0 ~ 9 の数字で始まるテーブルにはバッククォートでのみアクセスできます。

簡単な修正をお勧めします - テーブル名の前に "_" を追加します。

于 2013-12-28T11:05:50.260 に答える