各位大俠,同樣是下面的腳本,在不同的庫執行得出如下兩種結果不同,為什么呢? 想要第一種結果。
1)1 65
166
2)1 65
2 66
INSERT 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
);
uj5u.com熱心網友回復:
mysql語法不通啊ERROR 1093 (HY000): You can't specify target table 'function_group_auth' for update in FROM clause
uj5u.com熱心網友回復:
實際比這個復雜,我給簡化了。這個再試試應該沒問題建表
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,
'測驗'
);
uj5u.com熱心網友回復:
什么庫下出現了第一種情況?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116706.html
標籤:MySQL
