数据库列int限制

use*_*788 1 mysql sql

如何将数据库列的整数输入限制为特定的位数?

CREATE TABLE tab (id INT <1 digit> not null, value INT <10 digits> not null);
Run Code Online (Sandbox Code Playgroud)

谢谢

gbn*_*gbn 6

添加检查约束(SQL Server)或触发器(MySQL,不支持CHECK约束)

SQL Server示例:

CREATE TABLE tab (
    id tinynot null CHECK (id BETWEEN 0 AND 9), 
    value INT not null CHECK (id BETWEEN 1000000000 AND 9999999999)
);
Run Code Online (Sandbox Code Playgroud)
  • 如果你只想要一个数字,那么使用tinyint
  • 如果您不存储数字(例如"123456789香蕉"),但是比如电话号码,则使用varchar类型.请参阅/sf/answers/579927211/

编辑,你需要MySQL中的触发器