小能豆

MYSQL 和 python 错误

py

我想使用 python 在 MYSQL 数据库中插入数据,我的代码如下

import MySQLdb
#connect to db
db= MySQLdb.connect(host= "localhost",
              user="root",
              passwd="newpassword",
              db="new_schema")
#setup cursor
cursor = db.cursor()
#create anooog1 table
cursor.execute("DROP TABLE IF EXISTS try")
sql = """CREATE TABLE try (
      COL1 INT,            COL2 INT )"""
cursor.execute(sql)


#insert to table
cursor.execute("""INSERT INTO try VALUES (%s,%s)""",(188,90))
db.commit()   
db.rollback()
#show table
cursor.execute("""SELECT * FROM try""")

print cursor.fetchall()
db.close()

但错误出在我的sql中

Error: `new_schema`.`try`: table data is not editable because there is no primary key defined for the table ...

我该怎么办?


阅读 21

收藏
2025-01-02

共1个答案

小能豆

您的错误是因为您创建了一个没有主键的表。

使用此语句(或类似语句):

sql = """CREATE TABLE try (COL1 INT, COL2 INT, PRIMARY KEY (COL1))"""

这里我们指定COL1为表的主键。根据需要进行修改以满足您的要求。

如果你想在表中添加一个字符串列(长度为 128):

 CREATE TABLE try (COL1 INT, COL2 INT, MyString VARCHAR(128), PRIMARY KEY (COL1)) 
2025-01-02