Я хочу знать, как я могу определить ограниченный диапазон (max и min) для хранения значений в таблице?Как определить определенный диапазон для хранения значений в базе данных?
Я хочу, чтобы этот диапазон:[min: -99 , max: 999]
Также здесь несколько примеров:
CREATE TABLE MyTable(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
code INT(11) NOT NULL
)
INSERT INTO MyTable (id,code)
VALUES (1, 42),
VALUES (2, -332),
VALUES (3, -83),
VALUES (4, 44324),
VALUES (5, 0),
VALUES (6, 999);
Итак, я хочу этот вывод:
// MyTable
+----+------+
| id | code |
+----+------+
| 1 | 42 |
| 2 | -99 |
| 3 | -83 |
| 4 | 999 |
| 5 | 0 |
| 6 | 999 |
+----+------+
Ну, как я могу ограничить мой таблица для принятия действительных значений (в диапазоне) или перед хранением преобразует их в значение max/min?
Или, если то, что я рассмотрел выше, невозможно, Тогда как я могу показать результат как действительный в диапазоне?
// MyTable
+----+------+
| id | code |
+----+------+
| 1 | 42 |
| 2 | -332 |
| 3 | -83 |
| 4 | 44324|
| 5 | 0 |
| 6 | 999 |
+----+------+
Я хочу что-то вроде этого запроса:
SELECT id, IF(LENGTH(code) > 999, '999', code)) AS FilteredCode FROM MyTable
// also I can not implement to filter negative values (-99) in my query
Кажется хорошо. Только одно: что произойдет, если значение не находится в зоне действия? Он не будет вставляться? – Shafizadeh
@Shafizadeh: - Это вызовет ошибку. Я обновил свой ответ с помощью ссылки Fiddle, демонстрирующей это! –
@ Шафизаде: - Добро пожаловать! –