无法使用默认值将数据插入表中

时间:2012-07-22 17:56:44

标签: python mysql scrapy

我有一个有4个属性的表。

    +--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| url          | varchar(255) | YES  |     | NULL              |                |
| mail         | varchar(255) | YES  |     | NULL              |                |
| date_entered | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
| active       | tinyint(1)   | NO   |     | 1                 |                |
+--------------+--------------+------+-----+-------------------+----------------+

现在我想只插入data_entered和其他属性来获取默认值。 我正在为id字段做这个,我需要精确到另一个id我不同的表。

这是代码:

        tx.execute(\
            "insert into company_career (date_entered) "
            "values (%s)",
            (time.time())
        )

这是错误:

        query = query % db.literal(args)
    exceptions.TypeError: not all arguments converted during string formatting

如何解决?

3 个答案:

答案 0 :(得分:0)

试试这个:

tx.execute(\
            "insert into company_career (date_entered) "
            "values (FROM_UNIXTIME('%s'))",
            (time.time())
        )

答案 1 :(得分:0)

当您在插入查询中提供值时,请不要忘记将其括在逗号

"insert into company_career (date_entered) values ('%s')"

答案 2 :(得分:0)

我确实设法插入:插入公司(url,mail,date_entered)值(“”,“”,“now”);