【问题标题】:sql INSERT INTO says Column count doesn't match value count at row 1sql INSERT INTO 说列计数与第 1 行的值计数不匹配
【发布时间】:2020-05-01 08:27:19
【问题描述】:

当我使用 mysql 时,我创建了一个简单的组,当我插入值时发生了这种情况

已执行 1 个查询,0 个成功,1 个错误,0 个警告

查询:INSERT INTO emp(id, ename,sal,rank) VALUES( 01, 'jacob', 10,000, 'supervisor' )

错误代码:1136 列数与第 1 行的值数不匹配

执行时间:0 秒 传输时间:0秒 总时间:0.008 秒 我不知道为什么会发生这种情况,但我想包括我是 SQL 新手,这是我的表数据:

CREATE TABLE emp(
  id int(11) NOT NULL AUTO_INCREMENT,
  ename varchar(50) DEFAULT NULL,
  sal int(11) DEFAULT NULL,
  rank varchar(50) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

这是我试图插入的内容:

INSERT INTO emp(id, ename,sal,rank)
VALUES(01,'jacob',10,000,'supervisor');
SELECT * FROM emp;

我真的不知道为什么代码不起作用,有人可以帮忙吗?

【问题讨论】:

  • 因为你用逗号指定了10,000,它被解释为2个数字
  • rank 在版本 8 中成为保留字 - 更改或反引号。并且在表示层中不必担心这个问题。

标签: mysql


【解决方案1】:

您的列数仅为 4,但 10,000 中的逗号使其变为 5,这就是错误显示列数不匹配的原因

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 2013-08-24
    • 2012-11-10
    • 2020-01-10
    • 2014-01-17
    相关资源
    最近更新 更多