我有一个MySQL innodb 桌子(方形小提琴演示)
id,name_id,name,content
和内容如
1, NULL, 'Brian', 'Bridge to terabithia'
2, NULL, 'Brian', 'Pulp fiction'
3, NULL, 'Brian', 'Trainspotting'
4, NULL, 'Luke', 'Watchmen'
5, NULL, 'Luke', 'Constantine'
6, NULL, 'Tony', 'Dark knight'
7, NULL, 'Tony', 'Shutter Island'
8, NULL, 'John', 'Machinist'
9, NULL, 'John', 'Matrix'
10, NULL, 'John', 'Sin city'
11, NULL, 'John', 'Mad Max'id对每一行都是唯一的。但我无法理解如何将auto_increment name_id设置为每个唯一的名称。
这是(小小提琴)我想要达到的目标。
1, 1, 'Brian', 'Bridge to terabithia'
2, 1, 'Brian', 'Pulp fiction'
3, 1, 'Brian', 'Trainspotting'
4, 2, 'Luke', 'Watchmen'
5, 2, 'Luke', 'Constantine'
6, 3, 'Tony', 'Dark knight'
7, 3, 'Tony', 'Shutter Island'
8, 4, 'John', 'Machinist'
9, 4, 'John', 'Matrix'
10, 4, 'John', 'Sin city'
11, 4, 'John', 'Mad Max'是否可以只使用MySQL?感谢您的阅读。
发布于 2013-12-20 12:00:40
简单地说,您不能只使用auto_increment自动完成此操作,而且您可能也不应该这样做。
如果真的有理由这样做的话,您最好将数据库规范化,创建一个“name_id”表( PK,name),并从这个表中删除"name“列。老实说,我不知道在您的示例中这样做到底能得到什么好处,但我认为这可能是问题的抽象。
https://stackoverflow.com/questions/20703170
复制相似问题