mysql - MySQL SQL 查找给定范围内的数字

标签 mysql sql ddl create-table

我的表的 DDL 架构如下所示...

CREATE TABLE StockCodes (
    stockCode SMALLINT AUTO_INCREMENT,
    stockName VARCHAR(100),
    stockStart SMALLINT,
    stockFinish SMALLINT,
    stockCurrentNumber SMALLINT
); 

如何实现 stockCurrentNumber,以便我获得记录列表,例如... stockCurrentNumber 001, 002, 003, 004, 005。

另外,如何捆绑 stockCode 和 stockCurrentNumber 以形成复合主键。

此外,删除库存时如何删除单个 stockCurrentNumber?

我真的很感激任何帮助

最佳答案

在列上使用ZEROFILL 进行定义。

stockCurrentNumber smallint(3) unsigned zerofill

这会导致该列中的所有插入都以 0 开头进行填充。

示例:
当您插入1时,它将被存储为001。您可以与 field = 1 等实际值进行比较。

当使用相同的值与其他值连接时,填充的零不会丢失。

示例:
如果 stockCode6 并且 stockCurrentNumber9

concat( stockCode, stockCurrentNumber )

结果将是6009

引用: MySQL: SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

关于mysql - MySQL SQL 查找给定范围内的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22542586/

相关文章:

oracle - 如何使用创建或替换?

mysql - 用于在一个查询中获取总工作时间和加类时间的 SQL 查询 - 生成包含所有用户数据的结果集

mysql - mysql中未知行数的时间差之和

SQL Server : workers shift excluding break times

mysql - 为什么此 SQL 查询失败?

oracle11g - 如何在 Oracle DB 中提取序列 ddl

php - mysqli_connect 到远程服务器

mysql - 如何在子查询中访问子查询中的字段?

sql - PostgreSQL - "DISTINCT ON"和 "GROUP BY"语法

ddl - SQL Server 2012