我已将type Data struct {
test string
}
// ...
router.POST("/test", func(c *gin.Context) {
var data Data
c.BindJSON(&data)
c.JSON(200, gin.H{
"test": data.test,
})
})
设置为唯一键,而不是null
username
但是在尝试发现人们登录的最流行的日子时,我遇到了错误。
CREATE TABLE IF NOT EXISTS `users`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMP DEFAULT NOW(),
PRIMARY KEY (`id`),
UNIQUE KEY `uk_uname` (`username`)
);
“ users.username在功能上不依赖于group by子句中的列”
所以我搜索了stackoverflow,大多数人都说要禁用SELECT `username`,
DAYNAME(`created_at`) AS `day`
FROM `users`
GROUP BY `day`;
,但是我不想禁用它,为什么我不能学习如何使用它呢?
要使代码正常工作,我必须添加ONLY_FULL_GROUP_BY
用户名ANY_VALUE(
。
另一篇文章中的答案: “对于其他用例:在这种情况下,您不必不必禁用ONLY_FULL_GROUP_BY。根据mysql docs,“如果name不是t的主键或唯一的NOT NULL列,则此查询无效。在这种情况下,无法推断出功能依赖关系,并且会发生错误:“”
但是我不是把)
作为唯一密钥吗?为什么会出错?