【发布时间】:2018-11-21 23:55:21
【问题描述】:
我正在从事与发票相关的项目,现在我面临数据库索引大小或与index 相关的问题。
索引:
Keyname: invoice_number_company_unique
Type: BTREE
Unique: Yes
Packed: No
Column: invoice_number_prefix, invoice_number, company_id
Cardinality: 256, 768, 768
Collation: A, A, A
Null: Yes, Yes, No
表名:invoices
表结构:
CREATE TABLE IF NOT EXISTS `invoices` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`invoice_number_prefix` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`invoice_number` int(12) unsigned DEFAULT NULL,
`company_id` int(11) unsigned NOT NULL,
`amount` decimal(13,2) NOT NULL DEFAULT '0.00' COMMENT 'Invoice Total'
PRIMARY KEY (`id`),
UNIQUE KEY `invoice_number_company_unique`
(`invoice_number_prefix`,`invoice_number`,`company_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
数据插入到:invoice_number_company_unique = invo settings-4294967295-6
在尝试做下一张发票时,invoice_number_company_unique = invo settings-4294967296-6:它开始显示如下 DB 错误:
键“invoice_number_company_unique”的重复条目“invo settings-4294967295-6”
我认为它与索引的大小有关。因为当我将invo settings-4294967295-6 更改为invo sett-4294967295-6 时,它成功运行。我已经直接在 DB 中尝试过了。
使用:invo settings-4294967295-6 数据库错误
使用:invo sett-4294967295-6 成功
有人知道吗?请尝试帮助我?
【问题讨论】:
标签: php database indexing size