5

これは私のmysqlテーブルのスキーマです。私はmysql 5を使用しています

--
-- Table structure for table `DATA_USER_ROLE`
--

DROP TABLE IF EXISTS `DATA_USER_ROLE`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `DATA_USER_ROLE` (
  `ID` int(11) NOT NULL,
  `NAME` varchar(128) NOT NULL,
  `VAL_ID` int(11) NOT NULL,
  `CREATION_TIME` datetime NOT NULL,
  `ROLE_TYPE` int(11) NOT NULL,
  `STORAGE_TYPE` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `BV_AC_ROLE_KEY_IDX` (`NAME`,`VAL_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

機密性の高い UNIQUE KEY ケースが必要でした。

('a',0) & ('A', 0) のような値を入力できるようにする必要があります

照合順序を latin_1 および latin_generic_ci に変更してみました

4

5 に答える 5

3

BINARY最も簡単なのは、DDL ステートメントを追加することです。

`NAME` varchar(128) BINARY NOT NULL
于 2013-04-01T05:22:07.467 に答える
0

こんな風にできるんですね..

create table testTable (col_name varchar(100) character set utf8 
collate utf8_bin not null ) Engine=innodb default charset=utf8 
于 2016-09-28T08:48:33.227 に答える
-1

必要に応じて、デフォルトで utf8_general_ci (大文字と小文字を区別しない) charset を db に使用するか、1 行のみに使用します。

于 2015-10-16T08:09:13.060 に答える