如果我在这些信息之前加上这样的信息,这可能会有所帮助:这是一个股票股东数据库。新的行/行等于公司的新股东。旧系统中的每一位股东都有所谓的股东号,正好有六个字符,前面是零。
我的直接问题是:如何给出所有新插入的行的唯一ID,这些ID也将根据其中的一行按字母顺序排列。我需要插入新的名称,并使他们的ID是按照字母顺序排列的。
详细信息:
我将几十年前的一个数据库导入到一个新的PHP程序中。当在旧系统中添加一行时,它需要一个人的名字,并将其与一个数字连接起来,并放入其中。有问题的是,整个字母系统是按ID排序的,而不是直接从名称中排序。
基本上,姓"Afrebos“的人的ID是032500;姓"Williams”的人的ID是895573;姓"Zeta“的人是985000。DB似乎不知道字母表,完全依赖于ID号的顺序。
我正在建立的新系统将按名称进行排序,不再需要这些数字。然而,我的老板希望继续使用这些老数字(它们与其他公司的系统相关)。从现在开始,我可以随意选择唯一的数字,但为了整洁和专业起见,我想继续按照多年来的方式组织一切。
对于如何使用PHP/SQL/PDO实现这一点,有什么想法吗?任何帮助都是非常感谢的。
发布于 2015-01-05 18:29:03
SQL可以根据varchar列进行快速排序,例如名称(即按字母顺序排列),特别是当您索引该列时。
我将修改您的表以包含一个自动增量id,并将旧id存储在一个单独的列中,如果新条目不需要类似的id,甚至还可以将一个单独的表存储起来,但是您最好保留原始id作为主键列,并为每个新条目随机选择一个未使用的值。
https://stackoverflow.com/questions/27785093
复制相似问题