我想使用 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 ...
我该怎么办?
您的错误是因为您创建了一个没有主键的表。
使用此语句(或类似语句):
sql = """CREATE TABLE try (COL1 INT, COL2 INT, PRIMARY KEY (COL1))"""
这里我们指定COL1为表的主键。根据需要进行修改以满足您的要求。
COL1
如果你想在表中添加一个字符串列(长度为 128):
CREATE TABLE try (COL1 INT, COL2 INT, MyString VARCHAR(128), PRIMARY KEY (COL1))