首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表中插入自动增量和当前日期时间

在表中插入自动增量和当前日期时间
EN

Stack Overflow用户
提问于 2020-05-23 19:53:15
回答 2查看 635关注 0票数 0

我正在使用heidiSQL创建一个表。在该表中,我有两列需要AutoIncrement和当前DateTime。当我为这两列选择默认值autoIncrement和现在。我犯了个错误。下面是错误的屏幕截图:

下面是我现在所做的工作和autoIncrement的屏幕截图:

这是HeidiSQL生成的查询:

代码语言:javascript
复制
CREATE TABLE `personalidentity` (
    `VitalID` INT(10,0) NULL AUTO_INCREMENT,
    `FirstName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `MiddleName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `LastName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `Address` VARCHAR(200) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `City` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `State` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `Zip` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `UpdatedOn` DATETIME NOT NULL DEFAULT 'Now()',
    `StatusCode` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci'
)
COLLATE='utf8mb4_0900_ai_ci'
ENGINE=InnoDB
;

我对mysql非常陌生。任何解决错误的帮助都将受到高度赞赏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-23 19:59:53

在mysql 8中,整数没有第二个数字来表示大小,您可以跳过所有这些,然后编写整数。

VitalID必须是主键或至少键而不是NULL。

‘'NOW()’是一个字符串,可以作为缺省值使用--去掉滴答

不要紧,Integer的尺码总是一样的

代码语言:javascript
复制
CREATE TABLE `personalidentity` (
    `VitalID` INT(10) PRIMARY KEY NOT  NULL AUTO_INCREMENT,
    `FirstName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `MiddleName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `LastName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `Address` VARCHAR(200) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `City` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `State` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `Zip` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
    `UpdatedOn` DATETIME NOT NULL DEFAULT Now(),
    `StatusCode` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci'
)
COLLATE='utf8mb4_0900_ai_ci'
ENGINE=InnoDB
;
票数 1
EN

Stack Overflow用户

发布于 2020-05-23 20:05:04

你还有两个错误我解决了..。

1.没有主键

2.Collation

3.默认Now()值。

代码语言:javascript
复制
CREATE TABLE `personalidentity` (
    `VitalID` INT(10) primary key auto_increment ,
    `FirstName` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `MiddleName` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `LastName` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `Address` VARCHAR(200) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `City` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `State` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `Zip` VARCHAR(50) NULL DEFAULT NULL COLLATE utf8mb4_general_ci ,
    `UpdatedOn` DATETIME NOT NULL DEFAULT now(),
    `StatusCode` VARCHAR(10) NULL DEFAULT NULL COLLATE utf8mb4_general_ci 
)
COLLATE=utf8mb4_general_ci 
ENGINE=InnoDB
;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61977810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档