我正在使用 MySQL 学习 SQL,我可能还不知道某些语法,但我只是想知道,如果每当我在表中插入新记录时,我必须指定所有我每次插入的其他列,除了我自动递增的列,例如,第一列设置为自动递增,现在我想插入一条记录:
INSERT INTO 表(col2, col3, col4, col5...) VALUES(value2, value3, value4, value5...);
如果我不能指定列并自行增加值,为什么要这样做呢?为什么在这种情况下使用 AUTO_INCRMENT 呢?例如 INSERT INTO table VALUES(incremented_value, value2, value3...)
谢谢。
最佳答案
首先,重要的是要了解标识每一行的整数列非常有用。它们用于外键约束并使行标识变得“简单”(例如,尝试记住 UUID)。
那么你的问题是“为什么自动增量”?原因很简单。如果你能让数据库保证数据的有效性,那么你就有很多优势。最重要的优点涉及竞争条件 - 多个线程同时插入表中。
因为数据库保证值是唯一的并且不断增加,所以您(数据库的用户)不必担心重复。编写数据库的人已经为您完成了这些工作。
关于mysql - AUTO_INCRMENT 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65424765/