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

inserting autoincrement and current date time in a table

我正在使用 heidiSQL 创建 table。我在 table 中有两列,我想要自动增量和当前日期时间。当我选择 autoIncrement 的默认值时,现在为这两列。我得到一个错误。下面是错误的屏幕截图:

下面是我现在所做的和自动增量的屏幕截图:

这是 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 很陌生。非常感谢任何解决错误的帮助。

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

VitalID 必须是 PRIMARY KEY 或至少是 KEY 且 NOT NULL

'NOW()' 是一个字符串,不能作为 DEFAULT 去掉刻度线

没关系整数总是相同的大小

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.No 主键

2.Collation

3.Default现在()值。

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
;