列数不匹配,但我不想覆盖前两列

时间:2014-07-31 21:04:57

标签: php mysql

问题:我无法在忽略PIDPRIMARY KEY的表格中插入数据。我认为,因为这两个值是auto_incremented,所以它们会自动计算。 我在INSERT查询中做错了什么?

表格

"CREATE TABLE pictures
(
    PID INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(PID),
    url CHAR(255),
    description TEXT
)"

插入查询

"INSERT INTO pictures VALUES( 'url', 'other')"; 
// As expected I'm only initailizing url and description.

编辑:我知道您可以明确定义要设置的列的语法。是不是可以隐含地忽略前两列?

1 个答案:

答案 0 :(得分:1)

第一个解决方案是在INSERT命令

中定义列
INSERT INTO pictures (`url`, `description`) VALUES ('xxxxx', 'xxxxxxx');

第二种解决方案是将空PID(将由数据库生成)

INSERT INTO pictures VALUES ('', 'xxxxx', 'xxxxxxx');