Mysql表键
谁能告诉我钥匙Mysql表键,mysql,sql,database,Mysql,Sql,Database,谁能告诉我钥匙fk_拾取方法(picku方法id)的含义是什么, 键fk\u交付方法(交付方法id)行。因为提货方式和交货方式不在表中。那么这些线有什么用呢 CREATE TABLE `test` ( `idTest` int(11) NOT NULL AUTO_INCREMENT, `Name` mediumtext NOT NULL, `email` varchar(45) NOT NULL, `password` varchar(45) NOT NULL, `firstname` varc
fk_拾取方法
(picku方法id
)的含义是什么,
键fk\u交付方法
(交付方法id
)行。因为提货方式和交货方式不在表中。那么这些线有什么用呢
CREATE TABLE `test` (
`idTest` int(11) NOT NULL AUTO_INCREMENT,
`Name` mediumtext NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`firstname` varchar(45) NOT NULL,
`lastname` varchar(45) NOT NULL,
`phone` bigint(20) unsigned NOT NULL,
`address_street` varchar(128) NOT NULL,
`address_apt` varchar(45) DEFAULT NULL,
`address_city` varchar(128) NOT NULL,
`address_state` varchar(2) NOT NULL,
`address_zip` int(11) NOT NULL,
`fax` bigint(20) unsigned DEFAULT NULL,
`account_balance` float NOT NULL DEFAULT '0',
`delivery_radius` float DEFAULT NULL,
`pickup_method_id` int(11) NOT NULL DEFAULT '0',
`delivery_method_id` int(11) NOT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
`lat` float NOT NULL DEFAULT '0',
`lng` float NOT NULL DEFAULT '0',
`timezone` varchar(45) NOT NULL,
PRIMARY KEY (`idTest`),
UNIQUE KEY `phone_UNIQUE` (`phone`),
KEY `fk_pickup_method` (`pickup_method_id`),
KEY `fk_deliv_method` (`delivery_method_id`)
)
它们是()中列的索引。但这些字段并不局限于唯一性
请在此中查找
{INDEX | KEY}
。这些是拾取方法id和传递方法id字段上的索引
mysql如何使用索引:
名称fk_表示创建者创建外键的意图。但这不是外键,也不关心引用完整性
mysql中的外键(innodb):行
键fk\u拾取方法(拾取方法\u id)
在表列拾取方法id
上定义名为的索引
运行EXPLAIN
时,在可能的\u键
列下,您将看到索引的名称
通常的做法是调用键作为它索引的列。如果不指定键名,则这是默认行为。我的猜测是,这些约束旨在成为外键
约束并引用其他表
InnoDB引擎在定义外键
约束时创建索引(如果没有索引)
MyISAM引擎忽略外键
约束,但仍创建索引。例如:
CREATE TABLE test
( test_id int NOT NULL AUTO_INCREMENT,
delivery_method_id int NOT NULL,
PRIMARY KEY (test_id),
FOREIGN KEY fk_deliv_method (delivery_method_id)
REFERENCES delivery_method(delivery_method_id)
) ENGINE=MyISAM
DEFAULT CHARSET=utf8 ;
然后:
SHOW CREATE TABLE test ;
CREATE TABLE `test` (
`test_id` int(11) NOT NULL AUTO_INCREMENT,
`delivery_method_id` int(11) NOT NULL,
PRIMARY KEY (`test_id`),
KEY `fk_deliv_method` (`delivery_method_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
请删除java
标记,因为这似乎与java无关…@ManseUK:谢谢,只是我自己不想这么做:-)@vikastejavadeveloper:这回答了你的问题吗?注意:由于名称包括fk
,它们可能是外键,但它们是作为索引创建的。