3 sql database postgresql boolean sql-insert
然后我从MySQL转到PostgreSQL ,我在PostgreSQL中创建了带有BOOLEAN列的test表,如下所示:state
CREATE TABLE test (
state BOOLEAN -- Here
);
Run Code Online (Sandbox Code Playgroud)
但是,即使下面的 SQL 查询在MySQL中工作,我也无法插入TRUEwith1和FALSEwith0到test表,如下所示:
INSERT INTO test VALUES (1);
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES (0);
Run Code Online (Sandbox Code Playgroud)
然后,我收到以下错误:
ERROR: column "state" is of type boolean but expression is of type integer
Run Code Online (Sandbox Code Playgroud)
那么,如何向表中插入布尔值呢?
小智 7
您可以在PostgreSQL中插入TRUEwith'1'和FALSEwith ,如下所示:'0'
INSERT INTO test VALUES ('1');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('0');
Run Code Online (Sandbox Code Playgroud)
然后,将twhich isTRUE和fwhich isFALSE插入到test表中,如下所示:
postgres=# SELECT * FROM test;
state
-------
t
f
(2 rows)
Run Code Online (Sandbox Code Playgroud)
此外,下面的这些 SQL 查询也可以用于插入TRUE和FALSE表 test,如下所示:
TRUE:INSERT INTO test VALUES (tRuE);
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('TrUe');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('T');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('t');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('YeS');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('Y');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('y');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('oN');
Run Code Online (Sandbox Code Playgroud)
FALSE:INSERT INTO test VALUES (fAlSe);
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('FaLsE');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('F');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('f');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('No');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('N');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('n');
Run Code Online (Sandbox Code Playgroud)
INSERT INTO test VALUES ('oFf');
Run Code Online (Sandbox Code Playgroud)