【问题标题】:PhpMyAdmin export : reference without uppercasePhpMyAdmin 导出:不带大写的引用
【发布时间】:2015-06-20 09:41:14
【问题描述】:

首先,对不起我的英语不好,我是法语。

我在 localhost 中使用 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;

服务器的结果如何相同?

感谢您的帮助

【问题讨论】:

  • 我假设“本地导出”是指“在 localhost (XAMPP) 上导出”。您在本地主机上有哪个 phpMyAdmin 版本?在服务器上?
  • 服务器 PMA 3.4.10.1deb1 localhost 4.3.11
  • 我认为 XAMPP 是指 Windows 上的 XAMPP。如果是这样,这有帮助吗? stackoverflow.com/questions/6248735/…
  • 是的,它的工作!之前在我的 my.ini 中是 lower_case_table_names=0 现在是 lower_case_table_names=2 谢谢你的帮助

标签: mysql phpmyadmin export


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 2017-01-15
    • 2011-07-11
    • 2023-03-26
    • 2016-12-04
    • 2011-10-25
    • 2013-12-11
    • 2021-02-13
    相关资源
    最近更新 更多