Можно ли установить столбец, чтобы он мог иметь только 1 из 2 разных значений. Например, сейчас тип varchar (8), но я хочу, чтобы только допустимые значения были словами «биткойн» или «Paypal». Я знаю, что могу сделать это с помощью PHP, но возможно ли это с MySQL?Столбец установки допускается только 1 из 2 значений
ответ
Пожалуйста, замените с именем таблицы и с именем cloumn
ALTER TABLE <table name>
CHANGE COLUMN <column name> ENUM('Bitcoin','Paypal') NOT NULL;
Вам нужно указать имя нового столбца, даже если оно не меняется. (Другими словами, '
Отлично, это было на самом деле то, что я искал. @Gordon Linoff объяснил это, но вы показали мне, как это было сделано. Я сделал изменения в phpMyAdmin, и это получилось отлично. –
В MySQL у вас есть три или четыре варианта.
- Вы можете использовать перечисленный тип. Это определяет тип и допустимые значения.
- Вы можете использовать отношение внешнего ключа к справочной таблице, которая содержит только эти два значения.
- Вы можете использовать триггер, чтобы обеспечить соблюдение значений.
В других базах данных у вас также есть возможность использовать ограничение проверки. MySQL фактически не реализует их.
Если вы хотите пойти на совершенно нормализованной подход, я хотел бы сделать что-то вроде этого:
Customer
id auto_increment pk
name VARCHAR(255)
payment_type_id INT(10)
Тогда есть отдельная таблица:
PaymentTypes
id auto_increment pk
name VARCHAR(255)
Если вы используете InnoDB, вы бы поставили внешний ключ на t he column payment_type.
Для запроса по типу оплаты, просто присоединиться к таблицам:
SELECT c.Name, pt.Name as 'Payment Type'
FROM Customer c
LEFT JOIN PaymentTypes pt ON pt.id = c.payment_type_id
Это один из лучших вариантов, поскольку это позволяет более поздними добавлениями типов оплаты позже.
- 1. 2 столбца значений -> 1 столбец значений + 1 столбец меток в пандах
- 2. только один столбец идентификаторов в таблице допускается
- 3. Как отредактировать только 1 столбец из datatable?
- 4. Как добавить столбец 2, если столбец 1 дублируется несколько раз?
- 5. Виртуальный столбец здесь не допускается
- 6. WHERE [1 из этих значений] в [1 из этих значений]
- 7. SMFL - только 1 из 2 объектов нарисован
- 8. вызов 2 Консольные приложения из 1 только с 1 .exe
- 9. grep несколько значений, но только определенный столбец
- 10. SQL - Добавление нескольких значений в 1 столбец
- 11. Numpy ValueError (получил 1 столбец вместо 2)
- 12. панды dataframe черчения 1 столбец более 2
- 13. Если столбец 1 = пустой, то столбец 2 в R
- 14. 2 установки затмения 1 Установка ADT
- 15. Доступ к экспорту только 1 столбец запроса
- 16. ROLLUP только 1 столбец в mysql
- 17. Как обновить только 1 столбец в gridview?
- 18. Извлечение 2 значений из разных столбцов из БД только с 1 Выберите
- 19. array_combine с ключом имеет только один из массива 1 и нескольких значений из массива 2
- 20. MVC Webgrid показать только 1 столбец модели
- 21. Скопируйте весь полный столбец из файла 1 в 2
- 22. только обновить 1 столбец с linq
- 23. Android Spinner список только потянув 1 столбец
- 24. Добавить новый вычисленный столбец из 2 значений в RDD
- 25. Как слить 2 столбца на 1 столбец
- 26. Объединить 2 таблицы по совпадению 1 столбец
- 27. Как добиться 2 строк + 1 столбец сетки
- 28. glMapBufferRange отображает только 1 из 4 значений. Зачем?
- 29. Возврат только столбец 2 из текстового файла - JAVA
- 30. Split 1 электронный столбец 2 столбец в SQL Server
Вы можете использовать 'ENUM'. – 1000111
Для простоты и эффективности вы можете использовать логическое выражение для представления того или другого, поскольку существует только 2 варианта. –
@ php_coder_3809625 в то время как true (каламбур не предназначен: p), что потенциально может привести к некоторым серьезным проблемам масштабирования позже в жизни этой базы кода. Несмотря на то, что Marc может не планировать когда-либо масштабировать его на других платежных процессорах, если эта программа когда-либо взлетает, он определенно хочет иметь возможность добавлять разные типы платежей, чем только 2, и, вероятно, должен планировать масштабируемость (по причине) – Pachonk