如何在 MySQL Workbench 中创建 auto_increment 列?
How to creating auto_increment columns in MySQL Workbench?
我正在使用 MySQL Workbench 创建我的数据库 table。我有一个名为 Movies
的 table。在它的字段中有一个叫做 purchase_times
的字段,用来记录一部电影被购买的总次数。因此,它应该在购买特定电影时自动递增,但它不是 table 中的主键。我希望当没有人购买电影时该列读数为零,然后在第一个人购买时更改为 1,然后随着购买电影的次数增加而继续增加。
Q1。是否可以在同一个table中有两个自动递增的字段?
Q2。如何将上述列的值默认设置为零,即在任何人购买电影之前?
这是我所做的:
CREATE TABLE Movies (
movie_id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(50) NOT NULL,
genre VARCHAR(20) NOT NULL,
release_year INT(11) NOT NULL,
description TEXT(200) NOT NULL,
poster_url VARCHAR(250) NOT NULL,
purchase_times INT(11) AUTO_INCREMENT,
PRIMARY KEY (movie_id)
);
Q1。是的,这是可能的。但是,如果你有两个 auto_increment
列,它们将是相同的,所以有两个 auto_increment 列是没有意义的。
Q2。您可以按照此查询设置 0 默认值。
CREATE TABLE Movies (
movie_id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(50) NOT NULL,
genre VARCHAR(20) NOT NULL,
release_year INT(11) NOT NULL,
description TEXT(200) NOT NULL,
poster_url VARCHAR(250) NOT NULL,
purchase_times INT(11) DEFAULT '0', //here is the zero default
PRIMARY KEY (movie_id)
);
我正在使用 MySQL Workbench 创建我的数据库 table。我有一个名为 Movies
的 table。在它的字段中有一个叫做 purchase_times
的字段,用来记录一部电影被购买的总次数。因此,它应该在购买特定电影时自动递增,但它不是 table 中的主键。我希望当没有人购买电影时该列读数为零,然后在第一个人购买时更改为 1,然后随着购买电影的次数增加而继续增加。
Q1。是否可以在同一个table中有两个自动递增的字段?
Q2。如何将上述列的值默认设置为零,即在任何人购买电影之前?
这是我所做的:
CREATE TABLE Movies (
movie_id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(50) NOT NULL,
genre VARCHAR(20) NOT NULL,
release_year INT(11) NOT NULL,
description TEXT(200) NOT NULL,
poster_url VARCHAR(250) NOT NULL,
purchase_times INT(11) AUTO_INCREMENT,
PRIMARY KEY (movie_id)
);
Q1。是的,这是可能的。但是,如果你有两个 auto_increment
列,它们将是相同的,所以有两个 auto_increment 列是没有意义的。
Q2。您可以按照此查询设置 0 默认值。
CREATE TABLE Movies (
movie_id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(50) NOT NULL,
genre VARCHAR(20) NOT NULL,
release_year INT(11) NOT NULL,
description TEXT(200) NOT NULL,
poster_url VARCHAR(250) NOT NULL,
purchase_times INT(11) DEFAULT '0', //here is the zero default
PRIMARY KEY (movie_id)
);