开发者社区 问答 正文

如何在MySQL中创建序列??mysql

我正在尝试在MySQL中创建序列(从整体上来说,我对SQL还是很新的)。我正在使用以下代码,但这会导致错误:

CREATE SEQUENCE ORDID INCREMENT BY 1 START WITH 622; ORDID指向我正在使用的表中的字段。如何正确创建序列?

编辑:

据称,MySQL不使用序列。我现在正在使用以下代码,但这也会引起错误。我该如何解决?

CREATE TABLE ORD ( ORDID NUMERIC(4) NOT NULL AUTO_INCREMENT START WITH 622, //Rest of table code 编辑:

我想我找到了解决方法。对于phpMyAdmin(我正在使用),您可以使用以下代码。

ALTER TABLE ORD AUTO_INCREMENT = 622; 我不知道为什么它会喜欢这种方式,但是如果其他人需要帮助,那么您就可以开始了。:)

展开
收起
保持可爱mmm 2020-05-17 10:36:23 456 分享 版权
1 条回答
写回答
取消 提交回答
  • 查看这篇文章。我相信它应该可以帮助您获得所需的东西。如果您的表已经存在,并且表中已经有数据,则出现的错误可能是由于auto_increment试图为其他记录分配一个已经存在的值。

    简而言之,正如其他人在评论中已经提到的那样,在Oracle中考虑和处理的序列在MySQL中不存在。但是,您可能可以使用auto_increment完成所需的操作。

    如果没有有关特定错误的其他详细信息,很难提供更具体的帮助。

    更新

    CREATE TABLE ORD ( ORDID INT NOT NULL AUTO_INCREMENT, //Rest of table code PRIMARY KEY (ordid) ) AUTO_INCREMENT = 622; 该链接对于描述auto_increment的用法也很有帮助。设置AUTO_INCREMENT值似乎是一个表选项,而不是专门指定为列属性的值。

    同样,您可以通过上面的一个链接,通过更改表来设置自动增量开始值。

    ALTER TABLE ORD AUTO_INCREMENT = 622; 更新2 这是使用自动增量的有效sqlfiddle示例的链接。 希望此信息对您有所帮助。来源:stack overflow

    2020-05-17 11:02:43
    赞同 展开评论