Cherrypy Post 命令自增 mysql 自动自增但不插入数据库

Cherrypy Post command increments mysql auto increment but does not insert into the database

我正在开发我的第一个 Web 应用程序,我 运行 遇到了 mysql 的问题。我尝试使用下面的 POST 函数插入到我的 mysql 数据库中。发生的情况是,在我应用的 table 中,自动增量值增加了,但没有任何内容插入到 table 中。我可以使用以下方法插入我的 ec2 实例中的 table:

insert into applied (jobID, appID) values (1,8);

例如。

def POST(self, empID, jobID):
    print "jobID",jobID
    output_format = cherrypy.lib.cptools.accept(['application/json'])
    try:
        cnx = mysql.connector.connect(
            user=self.db['user'],
            host=self.db['host'],
            database=self.db['name'],
        )
        cursor = cnx.cursor()

    except Error as e:
        print e

    appID = 1
    qn="insert into applied (jobID, appID) values (%s,%s);" % (jobID, appID)
    try:
        cursor.execute(qn)
        cnx.close()
    except Error as e:
        print e
    print qn
    # Validate form data
    # Insert or update restaurant
    # Prepare response
    result = {}
    result['jobID'] = jobID
    result['appID'] = appID
    result['request'] = qn
    return json.dumps(result)

生成数据库的mysql代码为:

CREATE TABLE `applied` (
  `appliedID` int(11) NOT NULL AUTO_INCREMENT,
  `jobID` int(11) NOT NULL,
  `appID` int(11) NOT NULL,
  PRIMARY KEY (`appliedID`),
  KEY `jobID` (`jobID`),
  KEY `appID` (`appID`),
  CONSTRAINT `applied_ibfk_1` FOREIGN KEY (`jobID`) REFERENCES `jobs` (`jobID`) ON DELETE CASCADE,
  CONSTRAINT `applied_ibfk_2` FOREIGN KEY (`appID`) REFERENCES `applicants` (`appID`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=latin1;

您需要提交插入。试试这个...

try:
    cursor.execute(qn)
    cursor.commit()
    cnx.close()
except Error as e:

希望对您有所帮助!