1

私はmysqlデータベースを持っています。主キーでもある id という名前の列があります。25 まで手動で挿入しました。これで、データベースに挿入する Python コードを作成できました。挿入するコードは

c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))

今、私が抱えている問題は、auto_increment 列の値が任意であることです。同様に、25 の後に挿入される値は 1116 です。昇順で挿入する方法はありますか? ありがとうございました

4

2 に答える 2

0

プライマリの重要な要件は、一意でなければならないということです。主キーが完全に連続していることや、一貫して昇順であることなど、厳格な要件はありません。

一貫して昇順で完全に連続する値が必要な場合は、連続した値を格納する別の列 (つまり、主キー列ではない) を用意することをお勧めします。該当する場合は、同時実行の問題を考慮したメカニズムを使用して、コード内からこれらの値を設定する必要があります。

ほとんどのデータベース実装では、自動インクリメント値が完全に連続するという明示的な保証はありません。

于 2013-01-08T07:09:16.140 に答える
0

auto_incrementあなたは価値を得ることができますlastrowid

c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
my_last_id = c.lastrowid  # cursor.lastrowid

さらに参考になるように、Python を使用して MySQL データベースに INSERT した後に「id」を取得するにはどうすればよいですか?

于 2013-01-08T08:12:45.387 に答える