我是一个MySQL新手。我对于创建表格的DDL语句有疑问。迄今为止,我一直像这样编写create table ddl...
但是我经常看到人们像这样编写他们的 create table ddl...
CREATE TABLE file (
file_id mediumint(10) unsigned NOT NULL AUTO_INCREMENT,
filename varchar(100) NOT NULL,
file_notes varchar(100) DEFAULT NULL,
file_size mediumint(10) DEFAULT NULL,
file_type varchar(40) DEFAULT NULL,
file longblob DEFAULT NULL,
CONSTRAINT pk_file PRIMARY KEY (file_id)
);
但是我经常看到人们像这样编写他们的 create table ddl...
CREATE TABLE IF NOT EXISTS `etags` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`item_code` varchar(100) NOT NULL,
`item_description` varchar(500) NOT NULL,
`btn_type` enum('primary','important','success','default','warning') NOT NULL DEFAULT 'default',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
几个问题...
在表名和列名周围加引号有什么区别?
显式声明引擎和字符集是一种好的实践吗? 默认使用哪个引擎和字符集?
谢谢
AUTO_INCREMENT=3
似乎是被导出而不是被写入。只有在想要保留0、1、2作为主键时才需要它。 - Christian Gollhardt