Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да вмъкнете BOOL стойност в MySQL база данни

TRUE и FALSE са ключови думи и не трябва да се цитират като низове:

INSERT INTO first VALUES (NULL, 'G22', TRUE);
INSERT INTO first VALUES (NULL, 'G23', FALSE);

Като ги цитира като низове, MySQL ще ги прехвърли към техния целочислен еквивалент (тъй като булевите числа са наистина само еднобайтови INT в MySQL), което се превежда в нула за всеки нечислов низ. Така получавате 0 и за двете стойности във вашата таблица.

Нечислови низове, прехвърлени на нула:

mysql> SELECT CAST('TRUE' AS SIGNED), CAST('FALSE' AS SIGNED), CAST('12345' AS SIGNED);
+------------------------+-------------------------+-------------------------+
| CAST('TRUE' AS SIGNED) | CAST('FALSE' AS SIGNED) | CAST('12345' AS SIGNED) |
+------------------------+-------------------------+-------------------------+
|                      0 |                       0 |                   12345 |
+------------------------+-------------------------+-------------------------+

Но ключовите думи връщат съответния им INT представителство:

mysql> SELECT TRUE, FALSE;
+------+-------+
| TRUE | FALSE |
+------+-------+
|    1 |     0 |
+------+-------+

Имайте предвид също, че замених вашите двойни кавички с единични кавички, както са по-стандартните приложения на SQL низове. И накрая, замених празните ви низове за id с NULL . Празният низ може да издаде предупреждение.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да получа последно въведен идентификатор с помощта на Hibernate

  2. Laravel:Как да съхранявам данни във формат json в база данни?

  3. Групиране на MySQL datetime в интервали, независимо от часовата зона

  4. Връщане на стойност, дори и без резултат

  5. Топ десет GUI инструмента на MySQL