我正在我的C#应用程序中编写一个函数,在这个实例中是在MySQL数据库中创建一个新表。但是,当我编辑表结构(创建后)时,我看到三行未通过代码添加。
我是否需要仔细检查其中任何一项,或者它们是否正常?
AUTO_INCREMENT = 1
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
使用的语法:
CREATE TABLE egr。test
(
machine_id int NOT NULL AUTO_INCREMENT,
machine_desc varchar(64)DEFAULT NULL,
product_family varchar(64)DEFAULT NULL,
factory varchar(64)DEFAULT NULL,
model varchar(64)DEFAULT NULL,
size varchar(64)DEFAULT NULL,
PRIMARY KEY(machine_id))ENGINE = INNODB;
答案 0 :(得分:1)
代码没有问题。当您创建如下表格时
CREATE TABLE test (
machine_id int NOT NULL AUTO_INCREMENT,
machine_desc varchar(64) DEFAULT NULL,
product_family varchar(64) DEFAULT NULL,
factory varchar(64) DEFAULT NULL,
model varchar(64) DEFAULT NULL,
size varchar(64) DEFAULT NULL,
PRIMARY KEY (machine_id)
) ENGINE = INNODB ;
然后使用命令show create table test
你会看到一些东西
| test | CREATE TABLE `test` (
`machine_id` int(11) NOT NULL AUTO_INCREMENT,
`machine_desc` varchar(64) DEFAULT NULL,
`product_family` varchar(64) DEFAULT NULL,
`factory` varchar(64) DEFAULT NULL,
`model` varchar(64) DEFAULT NULL,
`size` varchar(64) DEFAULT NULL,
PRIMARY KEY (`machine_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
现在为什么AUTO_INCREMENT = 1
没有显示,因为如果它在开头设置为1然后它没有显示,则意味着它被设置为1暗示,但是如果你创建相同的上面的表
CREATE TABLE test (
machine_id int NOT NULL AUTO_INCREMENT,
machine_desc varchar(64) DEFAULT NULL,
product_family varchar(64) DEFAULT NULL,
factory varchar(64) DEFAULT NULL,
model varchar(64) DEFAULT NULL,
size varchar(64) DEFAULT NULL,
PRIMARY KEY (machine_id)
) ENGINE = INNODB AUTO_INCREMENT = 2 ;
然后show create table test
它将显示为
| test | CREATE TABLE `test` (
`machine_id` int(11) NOT NULL AUTO_INCREMENT,
`machine_desc` varchar(64) DEFAULT NULL,
`product_family` varchar(64) DEFAULT NULL,
`factory` varchar(64) DEFAULT NULL,
`model` varchar(64) DEFAULT NULL,
`size` varchar(64) DEFAULT NULL,
PRIMARY KEY (`machine_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
由于主键不长于1,表描述将显示auto_incremented值的最后一个id。
如果您需要了解数据库中表的其他详细信息,可能需要使用以下命令
show table status from your_db_name \G
你可能会得到一些东西
mysql> show table status from test \G
*************************** 1. row ***************************
Name: test
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 12582912
Auto_increment: 2
Create_time: 2014-05-23 16:39:08
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment: