gpt4 book ai didi

MySQL bool 列未更新

转载 作者:行者123 更新时间:2023-11-29 19:15:26 25 4
gpt4 key购买 nike

给定以下行:

mysql> select * from user\G
*************************** 1. row ***************************
id: 1
username: crm
password: AAER8]HR6UnR4knR4YnRnN[]
accountNonExpired:
accountNonLocked:
credentialsNonExpired:
enabled:
created: 2017-03-12 17:40:25
createdUser: system
lastUpdated: NULL
lastUpdatedUser: NULL
visible:
deleted:
deletedUser: NULL
1 row in set (0.00 sec)

以下命令有效:

mysql> update user set username = 'test' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from user\G
*************************** 1. row ***************************
id: 1
username: test
password: AAER8]HR6UnR4knR4YnRnN[]
accountNonExpired:
accountNonLocked:
credentialsNonExpired:
enabled:
created: 2017-03-12 17:40:25
createdUser: system
lastUpdated: NULL
lastUpdatedUser: NULL
visible:
deleted:
deletedUser: NULL
1 row in set (0.00 sec)

但是以下更新“可见”列的命令不起作用:

mysql> update user set visible = true where id = 1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> select * from user\G
*************************** 1. row ***************************
id: 1
username: test
password: AAER8]HR6UnR4knR4YnRnN[]
accountNonExpired:
accountNonLocked:
credentialsNonExpired:
enabled:
created: 2017-03-12 17:40:25
createdUser: system
lastUpdated: NULL
lastUpdatedUser: NULL
visible:
deleted:
deletedUser: NULL
1 row in set (0.00 sec)

这是有问题的表格:

mysql> show create table user;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user | CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(150) NOT NULL,
`accountNonExpired` bit(1) DEFAULT b'1',
`accountNonLocked` bit(1) DEFAULT b'1',
`credentialsNonExpired` bit(1) DEFAULT b'1',
`enabled` bit(1) DEFAULT b'0',
`created` datetime NOT NULL,
`createdUser` varchar(50) NOT NULL,
`lastUpdated` datetime DEFAULT NULL,
`lastUpdatedUser` varchar(50) DEFAULT NULL,
`visible` bit(1) DEFAULT b'0',
`deleted` bit(1) DEFAULT b'0',
`deletedUser` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

这是Mysql的版本:

mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.17-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)

为什么我无法更新用户表的 bool 列?

编辑:以下作品:

mysql> update user set visible = true where id = 1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from user where id = 1\G
*************************** 1. row ***************************
id: 1
username: test
password: AAER8]HR6UnR4knR4YnRnN[]
accountNonExpired:
accountNonLocked:
credentialsNonExpired:
enabled:
created: 2017-03-12 17:40:25
createdUser: system
lastUpdated: NULL
lastUpdatedUser: NULL
visible:
deleted:
deletedUser: NULL
1 row in set (0.00 sec)

但是做到了吗?没有视觉表示“visible”的值为 true 或 1?

最佳答案

尝试分别将 falsetrue 的列更新为 01。这些列的类型为 bit,默认为 0

关于MySQL bool 列未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com