簡體   English   中英

如何修復 MySQL-Connector INSERT 錯誤?

[英]How to fix MySQL-Connector INSERT Bug?

我正在嘗試獲取我的用戶 ID 並將其寫入 mysql db。 問題發生在我嘗試寫入此數據時(31-34)。 它將隨機 ID 寫入數據庫 (2147483647),但我需要寫入我的用戶 ID (1003694956919148625)。 有任何想法嗎?

class MyModal(discord.ui.Modal):
    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)

        self.add_item(discord.ui.InputText(label="Name"))
        self.add_item(discord.ui.InputText(label="Gender"))
        self.add_item(discord.ui.InputText(label="City"))
        self.add_item(discord.ui.InputText(label="Description", style=discord.InputTextStyle.long))

    async def callback(self, interaction: discord.Interaction):
        id = interaction.user.id
        print(id)
        cursor = connection.cursor()
        cursor.execute(
            "INSERT INTO users (id, name, gender, city, description) VALUES (%s, %s, %s, %s, %s)",
            (id, self.children[0].value, self.children[1].value, self.children[2].value, self.children[3].value)
        )
        connection.commit()

在控制台打印 id 是正確的但在 db - 它不是

我嘗試在控制台中打印 id - 它有效 我試圖將 id 保存在 MySQL - 無效

您在數據庫中使用哪種類型作為 id?

我建議您將其存儲在 varchar 或文本列中。 另一方面,值的類型或溢出可能存在問題

您只需將所有列的數據類型更改為 VARCHAR,一切都會得到修復

 ALTER TABLE users MODIFY COLUMN id VARCHAR(255); ALTER TABLE users MODIFY COLUMN name VARCHAR(255); ALTER TABLE users MODIFY COLUMN gender VARCHAR(255); ALTER TABLE users MODIFY COLUMN city VARCHAR(255); ALTER TABLE users MODIFY COLUMN description VARCHAR(255);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM