色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql建表字段默認值

榮姿康2年前9瀏覽0評論

MySQL建表時,可以設置字段的默認值。當插入數據時,如果未指定該字段的值,則使用默認值。

在創建表時指定默認值:

CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`is_admin` TINYINT(1) NOT NULL DEFAULT '0',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在以上示例中,is_admin字段默認值為0,created_at字段默認值為當前時間。當插入數據時,如果未指定is_admin或created_at的值,則會自動使用默認值。

可以使用ALTER TABLE語句修改字段的默認值:

ALTER TABLE `users` ALTER COLUMN `is_admin` SET DEFAULT '1';

以上示例將is_admin字段的默認值修改為1。

設置字段的默認值時,需要考慮字段的數據類型。以下是幾種常見數據類型的默認值設置方式:

TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT:默認值為數字,例如0或1。
FLOAT、DOUBLE:默認值為0.0。
VARCHAR、TEXT、CHARACTER、LONGTEXT、MEDIUMTEXT、TINYTEXT:默認值為字符串,例如空字符串''或默認文本。
DATE、TIME、DATETIME、TIMESTAMP:默認值為特定格式的日期或時間。

MySQL還支持設置NULL作為默認值:

CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL,
`email` VARCHAR(100) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

以上示例中,email字段的默認值為NULL,表示該字段可以為空。

在設置字段的默認值時,需要注意數據類型和是否允許為空的設置,以避免出現數據類型不匹配或空值問題。