Как вставить значение поля MySQL BIT (1) с помощью Drupal 7 API?

У меня есть таблица базы данных со следующими полями.

Table = TestForm
Поля:

id  INT AUTO INCREMENT PRIMARY KEY
name VARCHAR(255)
status BIT(1)

Я использую следующее для вставки данных в Drupal 7:

db_insert('TestForm')
->fields(array(
'name' => "My Form",
'status' => "b'1'"))->execute();

Может кто-нибудь дать мне знать, как вставить данные, используя Drupal 7 db_insert API для поля BIT (1).

2

Решение

Битовый (1) тип как-то равен BOOL. Таким образом, ответ будет:

$q = "INSERT INTO {TestForm} (name, status) VALUES ('My Form', TRUE)";
db_query($q);

Мы используем равнину db_query (НЕ db_insert) и TRUE / FALSE потому что в противном случае drupal преобразует его в int и выдаст «слишком длинную» ошибку.

Обратите внимание, что ты не можешь даже добавить это ИСТИНА / ЛОЖЬ в параметры для db_query и передать как:статус, потому что это все еще будет преобразовано.

Надеюсь, это сэкономит немного времени … 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]