【问题标题】:Selecting Data Type In MySQL在 MySQL 中选择数据类型
【发布时间】:2015-01-07 11:07:15
【问题描述】:
CREATE TABLE Game
(
GameID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DatePlayed DATE NOT NULL,
BoardNum TINYINT NOT NULL,
Score ENUM('1-0', '0-1', '2-2') NOT NULL,
MatchID INT NOT NULL,
WhitePlayer CHAR(20) NOT NULL,
BlackPlayer CHAR(20) NOT NULL,
CONSTRAINT fk_MatchID FOREIGN KEY (MatchID) REFERENCES MatchPlay (MatchID),
CONSTRAINT fk_WhitePlayer FOREIGN KEY (WhitePlayer) REFERENCES Player (PlayerName),
CONSTRAINT fk_BlackPlayer FOREIGN KEY (BlackPlayer) REFERENCES Player (PlayerName)
);

我无法在线找到解决方案,也许有人可以提供帮助。上面的 Score 实体我正在寻找一种可以保存数据输入的数据类型,例如 4-2、2-1、1-0 示例。像这种格式 [0-9]-[0-9] 。所以基本上,它不允许用户仅在 [0-9]-[0-9] 之间输入 10-0 。它也将是 ENUM 或不同的数据类型。

【问题讨论】:

  • 没有 SQL 数据类型可以执行这样的模式匹配。只需使用VARCHAR
  • 为什么不将两个小整数存储在单独的列中,而不是 X-Y
  • 这样做会更容易,尽管不幸的是数据库模式要求不同。我现在使用 VARCHAR 解决了它。

标签: mysql types enums sqldatatypes


【解决方案1】:

我认为以这种方式使用 SQL 是不可能的。 数据操作不应该发生在 sql 中,如果使用 MVC 概念,最好在控制器中进行。 它更安全。

在您的情况下,您可以使用 varchar 或整数数据类型作为替代。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-01
    • 2021-02-25
    • 2015-06-20
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    相关资源
    最近更新 更多