mysql - 为什么 Sequel Pro 在命令行中显示的表键值结果与 MySQL 不同?

标签 mysql database drupal primary-key sequelpro

这是 Sequel Pro 中特定表的结构:

Sequel Pro Table

这是在命令行中查看的相同表结构:

MySQL Command Line

这是 SHOW CREATE TABLE field_data_field_checklist_status 的输出:

| field_data_field_checklist_status | 
CREATE TABLE `field_data_field_checklist_status` (
  `entity_type` varchar(128) NOT NULL DEFAULT '' COMMENT 'The entity type this data is attached to',
  `bundle` varchar(128) NOT NULL DEFAULT '' COMMENT 'The field instance bundle to which this row belongs, used when deleting a field instance',
  `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'A boolean indicating whether this data item has been deleted',
  `entity_id` int(10) unsigned NOT NULL COMMENT 'The entity id this data is attached to',
  `revision_id` int(10) unsigned DEFAULT NULL COMMENT 'The entity revision id this data is attached to, or NULL if the entity type is not versioned',
  `language` varchar(32) NOT NULL DEFAULT '' COMMENT 'The language for this data item.',
  `delta` int(10) unsigned NOT NULL COMMENT 'The sequence number for this data item, used for multi-value fields',
  `field_checklist_status_value` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`entity_type`,`entity_id`,`deleted`,`delta`,`language`),
  KEY `entity_type` (`entity_type`),
  KEY `bundle` (`bundle`),
  KEY `deleted` (`deleted`),
  KEY `entity_id` (`entity_id`),
  KEY `revision_id` (`revision_id`),
  KEY `language` (`language`),
  KEY `field_checklist_status_value` (`field_checklist_status_value`)
) 
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Data storage for field 7 (field_checklist_status)' |

我相当有信心 MySQL 命令行表结构是准确的。这是一个 Drupal 字段表。

有谁知道为什么会有差异?

最佳答案

会不会同时存在以 entity_type 作为列的主键和以它作为列的多键?那么 Key 的值就会有歧义,它会解释不一致。

在 MySQL 中检查键的最好方法是运行

SHOW CREATE TABLE field_data_field_checklist_status;

它将向您显示实际的键,以及其中的列顺序。

关于mysql - 为什么 Sequel Pro 在命令行中显示的表键值结果与 MySQL 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29992128/

相关文章:

mysql - 求和查询中的一列

mysql performance_schema 缺少表

php - MYSQL 中的 UPDATE SET 合并

drupal - 将内容导入 drupal

bash - 如何加速Cygwin?

MySQL解释输出

php - 返回指定为逗号分隔值的组中的所有用户

drupal - 在 Bluemix 中的环境之间迁移 API Connect Developer Portal

database - Golang gorm mock

orientdb - `DELETE VERTEX v;`之后如何重置RecordId?