之间缺少逗号:
'$q14b' '$name'
为什么会出现此错误:
考虑一个简单的表
temp2列
v1和
v2类型
varchar:
mysql> desc temp;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| v1 | varchar(10) | YES | | NULL | || v2 | varchar(10) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)
现在让我们进行2次插入:
mysql> insert into temp(v1,v2) values('foo' 'bar'); // missing comma..gives err.ERROR 1136 (21S01): Column count doesnt match value count at row 1mysql> insert into temp(v1,v2) values('foo' 'bar','faz'); // missing comma..no erQuery OK, 1 row affected (0.00 sec)mysql> select * from temp; // 'foobar' got inserted in v1 !!+--------+------+| v1 | v2 |+--------+------+| foobar | faz |+--------+------+1 row in set (0.00 sec)
从这些数据可以很清楚地看出, MySQL将两个相邻的字符串连接在一起 ,这些 字符串之间用空格隔开,
并且发生这种情况时,您提供的自变量数量
values减少了
1,因此其计数与导致错误的列数不匹配。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)