MySQL查询添加说明

本文关键字:说明 添加 查询 MySQL | 更新日期: 2023-09-27 18:04:41

我正在写一个函数在我的c#应用程序,在这种情况下,在MySQL数据库中创建一个新表。但是,当我编辑表结构(在创建之后)时,我看到三行没有通过代码添加。

我需要仔细检查这些吗,或者它们应该是可以的吗?

AUTO_INCREMENT = 1
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
使用

语法:

CREATE TABLEtest (AUTO_INCREMENT:machine_desc varchar(64)默认为NULL,product_family varchar(64) DEFAULT NULL,工厂varchar(64)默认为NULL,模型varchar(64)默认为NULL,size varchar(64) DEFAULT NULL主键(machine_id)) ENGINE = INNODB;

MySQL查询添加说明

代码没有问题。当您创建如下表

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_increment值的最后一个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: