Mysql Can';t将行插入表(列计数不匹配)

Mysql Can';t将行插入表(列计数不匹配),mysql,insert,Mysql,Insert,我有一个脚本,创建一个表,然后插入一行。下面是创建表时执行的SQL代码: CREATE TABLE polls ( id INT NOT NULL UNIQUE AUTO_INCREMENT, name VARCHAR(255) NOT NULL UNIQUE, author VARCHAR(255) NOT NULL, created DATETIME NOT NULL, expires DATETIME, PRIMARY KEY(id) )

我有一个脚本,创建一个表,然后插入一行。下面是创建表时执行的SQL代码:

CREATE TABLE polls ( 
    id INT NOT NULL UNIQUE AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL UNIQUE,
    author VARCHAR(255) NOT NULL,
    created DATETIME NOT NULL,
    expires DATETIME,
    PRIMARY KEY(id)
)
这里是我添加新行的地方:

INSERT INTO polls
VALUES ('TestPoll'),('Billy Bob'),('2013-05-01 04:17:31'),('2013-05-01 04:17:31')

INSERT INTO polls
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')
(不管怎样,我都会得到相同的错误)

我总是会遇到这样的错误:

<class '_mysql_exceptions.OperationalError'>, OperationalError(1136, "Column count doesn't match value count at row 1"), <traceback object at 0x7f7bed982560>
,操作错误(1136,“列计数与第1行的值计数不匹配”),

您的语法错误,请尝试:

INSERT INTO polls
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')
但是,如果表结构发生更改,代码将中断,更安全的版本是:

INSERT INTO polls (name, author, created, expires)
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')

您的语法错误,请尝试:

INSERT INTO polls
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')
但是,如果表结构发生更改,代码将中断,更安全的版本是:

INSERT INTO polls (name, author, created, expires)
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')

您的
INSERT
查询格式不正确

INSERT INTO polls (name, author, created, expires)
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31');
有关更多信息,请访问MySQL参考手册


编辑:最好显式地键入每个列名,以防表结构在可预见的将来发生变化。

您的
插入
查询的格式不正确

INSERT INTO polls (name, author, created, expires)
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31');
有关更多信息,请访问MySQL参考手册


编辑:最好显式键入每个列名,以防表结构在可预见的将来发生变化。

mysql中,您必须在插入查询中传递列名。分配列名后,您的查询将如下所示

INSERT INTO polls (name,author,created,expires) values ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31');

希望有帮助。

在mysql中,您必须在插入查询中传递列名。分配列名后,您的查询将如下所示

INSERT INTO polls (name,author,created,expires) values ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31');

希望有帮助。

请尝试第二个版本的列名。请尝试第二个版本的列名。