嗨我有一张有值的表
domain user groups
test_at_test.com john first
test_at_test.com mary second
test_at_test.com john second
等。
我希望group concat
该表并将值插入新表或update
当前表我没有问题并让新表像这样
domain user groups
test_at_test.com john first,second
test_at_test.com mary second
我写下以下command
,但我得到error
列数与第1行的值计数不匹配
INSERT INTO newtable
SELECT * , GROUP_CONCAT(groups)
FROM table GROUP BY
user ORDER BY domain
答案 0 :(得分:1)
您的新表有3列但是在select中,结果集将有4列,您需要在select语句中指定列
INSERT INTO newtable
SELECT `domain`, `user`, GROUP_CONCAT(groups)
FROM table GROUP BY user
ORDER BY domain
注意结果被截断为group_concat_max_len系统变量给出的最大长度,该变量具有默认值 1024.尽管有效最大值,可以设置更高的值 返回值的长度受值的约束 max_allowed_packet的。