这是在 MySQL 中生成 ID 的正确方法吗?
INSERT INTO Picture (PictureId,First_pick,Title,Description,File_Name,Is_Vertical)VALUES
((SELECT max(pictureid)+1 FROM Picture),0,?,?,?,?)
我的意思是,当此查询由多个线程运行时,是否保证 PictureId 是唯一的?
我无法修改表结构。我应该使用任何特定的锁、索引或事务隔离级别吗?
问候,米哈尔
最佳答案
您通常会使用一个AUTO_INCREMENT
字段来为您处理这些事情:Manual
不过这个问题还是不错的,我想听听mySQL专家对此的深入解答。以所述方式进行操作的可靠性如何?
关于MySQL id序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400537/