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

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

enter image description here

以下是我现在要进行的操作和autoIncrement的屏幕截图:

enter image description here

这是HeidiSQL生成的查询:

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很新。解决错误的任何帮助将不胜感激。

评论
lquia
lquia

整数没有第二个数字来表示大小 在mysql 8中,您可以一起跳过所有内容并编写INTEGER。

VitalID必须为PRIMARY KEY或至少为KEY且不能为NULL

'NOW()'是一个字符串,可以用作默认值以消除刻度线

无关紧要Integer始终具有相同的大小

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
;
点赞
评论
cnisi
cnisi

而且您还有另外两个我解决的错误。

1.没有主键

2.整理

3.Default Now()值。

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
;
点赞
评论