gpt4 book ai didi

MYSQL|状态的数据类型

转载 作者:行者123 更新时间:2023-11-29 07:25:32 25 4
gpt4 key购买 nike

我需要弄清楚状态使用哪种数据类型。

应该是SET还是VARCHAR还是其他什么?

CREATE TABLE actors(
state SET('USA','Germany','....)
)

或者

CREATE TABLE actors(
state VARCHAR(30)
)

最佳答案

假设有数十个或数百个国家/地区,最好使用单独的表格。

CREATE TABLE states(
state_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30)
);

还建议在 state_id 上使用外键,这样如果您想从数据库中删除某个状态,就不会破坏依赖于该状态的其他数据。

如果每个参与者仅分配到一种状态 (1:1),则可以使用参与者表中的列。

CREATE TABLE actors(
actor_id INT ...,
state_id INT,
)

或者,如果每个参与者可以分配给更多状态 (1:N),请使用另一个表来表示这些关系:

CREATE TABLE actors(
actor_id INT ...,
)
CREATE TABLE actors_to_states(
actor_id INT,
state_id INT
)

关于MYSQL|状态的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com