Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 工作台-列计数不为';不匹配值计数?_Mysql_Workbench - Fatal编程技术网

Mysql 工作台-列计数不为';不匹配值计数?

Mysql 工作台-列计数不为';不匹配值计数?,mysql,workbench,Mysql,Workbench,我试图使用此语法代码将值插入表中,但它显示“列计数与第1行的值计数不匹配” 我还将表更改为非空: ALTER TABLE locations MODIFY type INT NOT NULL; ALTER TABLE locations MODIFY description CHAR NOT NULL; ALTER TABLE locations MODIFY lng INT NOT NULL; ALTER TABLE locations MODIFY lat INT NOT NULL; ALT

我试图使用此语法代码将值插入表中,但它显示“列计数与第1行的值计数不匹配”

我还将表更改为非空:

ALTER TABLE locations MODIFY type INT NOT NULL;
ALTER TABLE locations MODIFY description CHAR NOT NULL;
ALTER TABLE locations MODIFY lng INT NOT NULL;
ALTER TABLE locations MODIFY lat INT NOT NULL;
ALTER TABLE users MODIFY userid INT NOT NULL;
ALTER TABLE users MODIFY name CHAR NOT NULL;
ALTER TABLE users MODIFY username CHAR NOT NULL;
ALTER TABLE users MODIFY password CHAR NOT NULL;
ALTER TABLE photograph MODIFY photoid INT NOT NULL;
ALTER TABLE photograph MODIFY locationid INT NOT NULL;

您的
用户ID
列似乎是一个自动递增主键,但我在工作台图像中没有看到选中的
AI
属性

AUTO_INCREMENT
属性添加到
userid

ALTER TABLE users MODIFY userid INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
此外,在某些
CHAR
列上没有字符长度或长度
(1)
。它们需要比这更长,否则将被截断。我建议改用
VARCHAR()
,使用适当的最大长度

-- For a 32 character username
ALTER TABLE users MODIFY username VARCHAR(32);
-- Allow a large size for passwords - hashing algorithms might make them long
ALTER TABLE users MODIFY password VARCHAR(128);
最后到列计数不匹配。。。这是因为您在
INSERT
中的列列表中包含了
userid
,但在
VALUES()
列表中没有包含它的值。列列表有8列,但
VALUES()
只有7个值。有两种解决方案

从列列表中省略
userid
,以便MySQL使用递增值自动填充:

-- Leave `userid` out
INSERT INTO users (name, username,address,city,state,zip,password) 
VALUES ('Bonnie Buntcake','bbunt','6709 Wonder Street','Wonderbread','OH','46105','eclectic');
或者将
userid
保留在中,但在
VALUES()
列表中提供一个
NULL
。MySQL还将用自动递增值替换
NULL

-- Add a NULL to `VALUES()` in the position of `userid`
INSERT INTO users (userid, name, username,address,city,state,zip,password) 
VALUES (NULL, 'Bonnie Buntcake','bbunt','6709 Wonder Street','Wonderbread','OH','46105','eclectic');

您没有插入
userid
,并且忘记将
userid
设置到自动增量(AI)列中
-- Add a NULL to `VALUES()` in the position of `userid`
INSERT INTO users (userid, name, username,address,city,state,zip,password) 
VALUES (NULL, 'Bonnie Buntcake','bbunt','6709 Wonder Street','Wonderbread','OH','46105','eclectic');