У меня есть таблица базы данных со следующими полями.
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).
Битовый (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 и передать как:статус, потому что это все еще будет преобразовано.
Надеюсь, это сэкономит немного времени … 🙂
Других решений пока нет …