无法在表中插入行(列计数不匹配)

Fre*_*nöw 0 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)
)
Run Code Online (Sandbox Code Playgroud)

这是我添加新行的地方:

INSERT INTO polls
VALUES ('TestPoll'),('Billy Bob'),('2013-05-01 04:17:31'),('2013-05-01 04:17:31')
Run Code Online (Sandbox Code Playgroud)

要么

INSERT INTO polls
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')
Run Code Online (Sandbox Code Playgroud)

(无论如何我得到同样的错误)

我总是得到这个错误:

<class '_mysql_exceptions.OperationalError'>, OperationalError(1136, "Column count doesn't match value count at row 1"), <traceback object at 0x7f7bed982560>
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 6

你的语法错了,试试:

INSERT INTO polls
VALUES ('TestPoll','Billy Bob','2013-05-01 04:17:31','2013-05-01 04:17:31')
Run Code Online (Sandbox Code Playgroud)

但如果您的表结构发生变化,您的代码将会中断,更安全的版本是:

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