重複の可能性:
Mysql の英数字順
テーブルがレコードを正しく並べ替えていません。主キーは、1 文字の文字列で、1 から始まる数字と組み合わせたものです。例: F1. 2桁の数字になると問題になりますex:F10。データベースは最初の 2 文字のみをチェックし、残りは破棄します。元:
F1、F2、F3、...F9、F10、F11 などのようになります。
F1、F10、F11、F12、....、F2、F3、F4などのように見えます。
ですから、何かアイデアがあれば共有してください。
注: MySql 5 サーバーと MySql Workbench 5.2 を使用
データベース内の 1 つのテーブルのスクリプト コードを次に示します。
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
DROP SCHEMA IF EXISTS `RimpexDB` ;
CREATE SCHEMA IF NOT EXISTS `RimpexDB` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci ;
USE `RimpexDB` ;
-- -----------------------------------------------------
-- Table `RimpexDB`.`RpxFornecedor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `RimpexDB`.`RpxFornecedor` ;
CREATE TABLE IF NOT EXISTS `RimpexDB`.`RpxFornecedor` (
`FID` VARCHAR(80) NOT NULL ,
`FNome` VARCHAR(80) NOT NULL ,
`FDescricao` VARCHAR(1000) NULL ,
`FNTel` VARCHAR(45) NULL ,
`FNCel` VARCHAR(45) NULL ,
`FEndereco` VARCHAR(200) NOT NULL ,
`FEmail` VARCHAR(100) NULL ,
`FFax` VARCHAR(45) NULL ,
`FActivo` CHAR NOT NULL ,
`FDataAct` VARCHAR(200) NOT NULL ,
`FDataNAct` VARCHAR(200) NULL ,
PRIMARY KEY (`FID`) ,
INDEX `FID` (`FID` ASC, `FNome` ASC, `FDescricao` ASC, `FNTel` ASC, `FNCel` ASC, `FEndereco` ASC, `FEmail` ASC, `FFax` ASC, `FActivo` ASC, `FDataAct` ASC, `FDataNAct` ASC) )
ENGINE = InnoDB
COMMENT = 'Fornecedor Table' ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;