各位大侠,同样是下面的脚本,在不同的库执行得出如下两种结果不同,为什么呢? 想要第一种结果。
1)1 65
166
2)1 65
2 66INSERT INTO function_group_auth (
func_group_id,
group_no
)
VALUES
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth) AS a),
65
),
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth) AS a),
66
);
1)1 65
166
2)1 65
2 66INSERT INTO function_group_auth (
func_group_id,
group_no
)
VALUES
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth) AS a),
65
),
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth) AS a),
66
);
ERROR 1093 (HY000): You can't specify target table 'function_group_auth' for update in FROM clause
建表
CREATE TABLE `function_group_auth_1` (
`func_group_id` INT(11) NOT NULL COMMENT 'func_group_id',
`function_base_id` INT(11) NOT NULL COMMENT 'function_base_id',
`group_name` VARCHAR(50) NOT NULL COMMENT 'group_name',
PRIMARY KEY (`func_group_id`,`function_base_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO function_group_auth_1 (
func_group_id,
function_base_id,
group_name
)
VALUES
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth_1) AS a),
65,
'测试'
),
(
(SELECT
id
FROM
(SELECT
MAX(func_group_id) + 1 AS id
FROM
function_group_auth_1) AS a),
66,
'测试'
);