我有一个mysql表,其中有两个字段组成主键,还有一个“sort”字段。这些都不是自动递增的。
在不指定
ORDER BY
子句,它按照放入的顺序提取数据——相当标准。所以无论哪一行先插入,它都会先将它们拉出。
问题是当我
ORDER BY sort ASC
如果
sort
如果为空,那么它实际上根本不排序,结果就会变得混乱。但我想有后援
排序依据
是它将退出的默认顺序。我不能让备份成为自动递增的“id”字段,因为没有自动递增的id字段。主键只是两个外键的组合。
-----编辑-----
表:
CREATE TABLE IF NOT EXISTS `product_attribute_select_value` (
`product_attribute_id` int(11) NOT NULL,
`attribute_select_value_id` int(11) NOT NULL,
`sort` int(11) default '0',
PRIMARY KEY (`product_attribute_id`,`attribute_select_value_id`),
KEY `product_attribute_select_value_FI_2` (`attribute_select_value_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `product_attribute_select_value`
ADD CONSTRAINT `product_attribute_select_value_FK_1` FOREIGN KEY (`product_attribute_id`) REFERENCES `product_attribute` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `product_attribute_select_value_FK_2` FOREIGN KEY (`attribute_select_value_id`) REFERENCES `attribute_select_value` (`id`);
数据:
数据被插入,并且在不使用
按顺序
从句,它是按顺序排列出来的。当有一个
按顺序
条款和所有
分类
价值观是
0
它以一个看似随机的顺序把它拉出来。