PhpMyAdmin 导出:没有大写的引用

PhpMyAdmin export : reference without uppercase

首先,我很抱歉我的英语不好,我是法国人。

我在本地主机上使用 PhpMyAdmin Xampp,在服务器上使用另一个 PhpMyAdmin

我的表格像 Personne、Adresse、Titre。

当我对服务器使用导出选项时,我的 sql 是完美的:

CREATE TABLE IF NOT EXISTS `Personne` (
  `idPersonne` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `gsm` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `nom` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `prenom` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `telephone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `idAdresse` int(11) DEFAULT NULL,
  `idTitre` int(11) DEFAULT NULL,
  PRIMARY KEY (`idPersonne`),
  UNIQUE KEY `uniquePersonne` (`nom`,`prenom`),
  KEY `IDX_F6B8ABB9D3E663E4` (`idAdresse`),
  KEY `IDX_F6B8ABB9E8B304A9` (`idTitre`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=685 ;

ALTER TABLE `Personne`
  ADD CONSTRAINT `FK_F6B8ABB9D3E663E4` FOREIGN KEY (`idAdresse`) REFERENCES `Adresse` (`idAdresse`) ON DELETE SET NULL,
  ADD CONSTRAINT `FK_F6B8ABB9E8B304A9` FOREIGN KEY (`idTitre`) REFERENCES `Titre` (`idTitre`) ON DELETE SET NULL;

当我使用本地导出时

CREATE TABLE IF NOT EXISTS `Personne` (
  `idPersonne` int(11) NOT NULL,
  `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `gsm` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `nom` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `prenom` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `telephone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `idAdresse` int(11) DEFAULT NULL,
  `idTitre` int(11) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=685 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

它为主键、唯一键、普通键和 auto_increment 生成行:

ALTER TABLE `Personne`
  ADD PRIMARY KEY (`idPersonne`), ADD UNIQUE KEY `uniquePersonne` (`nom`,`prenom`), ADD KEY `IDX_F6B8ABB9D3E663E4` (`idAdresse`), ADD KEY `IDX_F6B8ABB9E8B304A9` (`idTitre`);

ALTER TABLE `Personne`
  MODIFY `idPersonne` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=685;

并且引用不包含大写字母

ALTER TABLE `Personne`
  ADD CONSTRAINT `FK_F6B8ABB9D3E663E4` FOREIGN KEY (`idAdresse`) REFERENCES `adresse` (`idAdresse`) ON DELETE SET NULL,
  ADD CONSTRAINT `FK_F6B8ABB9E8B304A9` FOREIGN KEY (`idTitre`) REFERENCES `titre` (`idTitre`) ON DELETE SET NULL;

服务器的结果怎么一样?

感谢您的帮助

为 MySQL 调整 lower_case_table_names 设置以实现您的目标。参见 How to force case sensitive table names?