๐Ÿ“œ sql_mode=only_full_group_by

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'hykj-ssc.p.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by"

ๅ‚่€ƒopen in new window

1ใ€ๆŸฅ็œ‹ sql_mode

SELECT @@sql_mode;
1

ๆŸฅ่ฏขๅ‡บๆฅ็š„ๅ€ผไธบ๏ผš

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1

2ใ€ๅŽปๆމ ONLY_FULL_GROUP_BY๏ผŒ้‡ๆ–ฐ่ฎพ็ฝฎๅ€ผใ€‚

SET @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
1

3ใ€ไธŠ้ขๆ˜ฏๆ”นๅ˜ไบ†ๅ…จๅฑ€ sql_mode๏ผŒๅฏนไบŽๆ–ฐๅปบ็š„ๆ•ฐๆฎๅบ“ๆœ‰ๆ•ˆใ€‚ๅฏนไบŽๅทฒๅญ˜ๅœจ็š„ๆ•ฐๆฎๅบ“๏ผŒๅˆ™้œ€่ฆๅœจๅฏนๅบ”็š„ๆ•ฐๆฎไธ‹ๆ‰ง่กŒ๏ผš

SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
1

ๆ— ๆ•ˆ

select @@global.sql_mode


set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
1
2
3
4

ๆ— ๆ•ˆ

set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
1
2