[英]Boolean save as tinyint(1) in mysql
我用一些布尔字段制作了表格。
CREATE TABLE PM_ADMIN_LIST( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(250) NOT NULL, password VARCHAR(250) NOT NULL, mail VARCHAR(250) NOT NULL, added_time INT, super_admin VARCHAR(250) NOT NULL, last_time INT, last_ip VARCHAR(250), see_user_per BOOLEAN DEFAULT FALSE, change_user_per BOOLEAN DEFAULT FALSE, see_people_per BOOLEAN DEFAULT FALSE, change_people_per BOOLEAN DEFAULT FALSE, add_people_per BOOLEAN DEFAULT FALSE, remove_people_per BOOLEAN DEFAULT FALSE, see_album_per BOOLEAN DEFAULT FALSE, add_album_per BOOLEAN DEFAULT FALSE, change_album_per BOOLEAN DEFAULT FALSE, remove_album_per BOOLEAN DEFAULT FALSE, see_music_per BOOLEAN DEFAULT FALSE, add_music_per BOOLEAN DEFAULT FALSE, change_music_per BOOLEAN DEFAULT FALSE, remove_music_per BOOLEAN DEFAULT FALSE, admin_per BOOLEAN DEFAULT FALSE, yahoo_per BOOLEAN DEFAULT FALSE, status_per BOOLEAN DEFAULT FALSE, pm_per BOOLEAN DEFAULT FALSE, ip_blocking_per BOOLEAN DEFAULT FALSE );
但是当我在phpmyadmin中检查它时, BOOLEAN
字段是tinyint(1)
并且它们默认为0
。 我可以让1
为TRUE
。 但是当我在我的PHP代码中使用===
时,它们无法转换。 (我应该在if
, for
, while
使用==
并且我认为它可以在我的系统中产生一些错误。)
那么,我该如何解决呢? 我应该如何从mysql默认获得BOOLEAN?
从数据库中获取数据时,通常不会在PHP中获取任何字符串。 这些类型仅在数据库端使用。
该字段是TINYINT
因为MySQL根本不包含BOOLEAN
字段。
MySQL中没有'boolean'类型。 你可以在PHP中使用==
check。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.