且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

mysql建立自增主键的插入,及自动插入当前时间

更新时间:2022-04-07 17:24:05

MYSQL里用这两个字段,几乎都是必须的。

以前都是自动建立的,现在手把手建立的时候,就要找资料来搞定了。

参考URL:

http://blog.csdn.net/Weicleer/article/details/47608289

http://www.cnblogs.com/lhj588/p/4245719.html

==============================

表建立好之后,如何插入值,也是一个问题。

==============================

当数据表中有自增长主键时,当用SQL插入语句中插入语句带有ID列值记录的时候; 

    1. 如果指定了该列的值,则新插入的值不能和已有的值重复,而且必须大于其中最大的一个值;
    2. 也可以不指定该列的值,只将其他列的值插入,让ID还是按照MySQL自增自己填; 
      这种情况在进行插入的时候,两种解决方法: 
      ①可以把id的值设置为null或者0,这样子mysql都会自己做处理 
      ②手动指定需要插入的列,不插入这一个字段的数据!

在插入当前时间值时,用2-2方法,不指定列值和列数据,MYSQL就会自己搞定。

对于我的场景来说:

表是这样的:

CREATE TABLE `pmlog` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `deployName` varchar(255)  NOT NULL,
  `appName` varchar(255),
  `siteName` varchar(255),
  `ipAddress` varchar(255)  NOT NULL,
  `envType` varchar(255),
  `userName` varchar(255) NOT NULL,
  `operationType` varchar(255),
  `operationNo` varchar(255),
  `logContent` varchar(2048),
  `logDateTime`  datetime NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

手工插入数据时,用以下命令即可。

INSERT INTO `pmlog`(deployName, appName, siteName, ipAddress, envType, userName, operationType, operationNo , logContent ) VALUES ('deployName5', 'appName5', 'siteName5', 'ipAddress1.3.5', 'envTypeFAT', 'userNameCCC', 'operationType1',   'operationNo5', 'logContentFFFFFFFF55555555FFFFFFFFFFF');

mysql建立自增主键的插入,及自动插入当前时间