我正在使用heidiSQL创建表。我在该表中有两列,我想要AutoIncrement和当前的DateTime。当我选择autoIncrement的默认值时,现在选择这两列的默认值。我得到一个错误。以下是错误的屏幕截图:
以下是我现在要进行的操作和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且不能为NULL
'NOW()'是一个字符串,可以用作默认值以消除刻度线
无关紧要Integer始终具有相同的大小
而且您还有另外两个我解决的错误。
1.没有主键
2.整理
3.Default Now()值。