【问题标题】:ID value in mySQL is auto_increment but seems generated in netbeansmySQL 中的 ID 值为 auto_increment 但似乎在 netbeans 中生成
【发布时间】:2017-12-13 19:16:21
【问题描述】:

我对使用 Java 开发 Web 应用程序还很陌生。我刚刚连接了数据库,如图所示,我的 ID_patient 是 auto_increment,但在 Netbeans 中看起来是生成的。

INSERT INTO sys.patient values('5','elif','nil','er','elif@hotmail.com','11111111111','1234a','istanbul')

插入的新记录想要这个值,而我想要它接受

INSERT INTO sys.patient values('elif','nil','er','elif@hotmail.com','11111111111','1234a','istanbul')

并自动递增并将 id 设为 1,2,3,4...等。

我该如何解决这个问题? 谢谢你

in netbeans

in mysql

【问题讨论】:

    标签: java mysql sql netbeans


    【解决方案1】:

    如果您希望在不想提供 id 的地方创建插入查询,并且数据库应该根据表定义自动生成它,那么您需要在必须提及列名的地方创建插入查询。 示例

    INSERT INTO <TABLENAME>(COLUMN1, COLUMN2, COLUMN3, COLUMN4) 
    VALUES
    (VALUE1,VALUE2, VALUE 3,VALUE 4); 
    

    所以在你的情况下应该是

    INSERT INTO PATIENT(FirstName,MiddleName,LastName,E_mail)
    values
    ('myname','mymiddlename','mylastname','myemailid');
    

    列名及其值的顺序非常重要。它们应该完全匹配。如果您没有为其中一列提供值并且它是自动递增的,则 DB 将向其添加一个值,否则它将添加空值。

    【讨论】:

    • 感谢您的回答,但仍然报错;错误代码 1136,SQL 状态 21S01:列计数与第 1 行第 2 行第 1 列的值计数不匹配
    • 确保在插入和值中提供相同数量的列。也许向我们展示您尝试执行的查询,以便我们可以尝试找到问题
    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 2019-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多