如何在 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)
);