mysql - 定义添加到数据库中的数据的值(value)的最佳方法是什么?

标签 mysql database

例如,我有一个列> shopping_cart.status;每个记录的此列状态应包含三个值之一>“不完整”、“完整”或“已发货”。我的问题是,是否应该由我的应用程序确保这些是唯一使用的值,还是我需要将其构建到数据库端此属性的域中?

最佳答案

使用枚举,这正是它们的用途。

An ENUM is a string object with a value chosen from a list of permitted values that are enumerated explicitly in the column specification at table creation time.

An enumeration value must be a quoted string literal; it may not be an expression, even one that evaluates to a string value. For example, you can create a table with an ENUM column like this:

CREATE TABLE shoppingcards (
    shoppingcardstatus ENUM('incomplete', 'complete', 'shipped')
);

参见:http://dev.mysql.com/doc/refman/5.0/en/enum.html

关于mysql - 定义添加到数据库中的数据的值(value)的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854663/

相关文章:

mysql - 使用外列的唯一多列键

php - 在opencart中将商店id添加到产品导出中(mysql查询)

php - 包含特殊数字格式的字符串列的 AUTO_INCRMENT 实现

c# - 减少 Update 和 Sum Query C# Access DB 的时间?

json - 使用 Swift 从 Firebase 获取 nil 值

mysql - 这里的语法错误是什么?

php - mysql_fetch_array 中的错误。无法通过 while 循环获取记录

mysql - 接收字符串文字并将其存储在数据库的整数列中

mysql - 什么时候可以不使用 PRIMARY KEY?

php - 3rd NF 中数据库中点的计算