将变量用作AUTO_INCREMENT的整数

时间:2013-05-30 17:36:45

标签: mysql variables mysql-workbench

虽然我偶然发现了这个问题,但我很擅长在SQL和MySQL中徘徊。我正在尝试获取一个表中有多少行,并将此数字设置为其他AUTO_INCREMENT值。问题是,当我尝试通过变量赋值时,MySQL工作台会触发语法错误。我试图将查询转换为无符号整数,但不确定它是否正常工作。查询行数返回所需的数字。我做错了什么?

SET @size = CONVERT((SELECT TABLE_ROWS FROM information_schema.tables WHERE table_name='Persons' and table_schema = 'Movies2'), unsigned);
ALTER TABLE Movies2.Actors AUTO_INCREMENT=@size;

1 个答案:

答案 0 :(得分:1)

以下内容应该有效:

ALTER TABLE Movies2.Actors AUTO_INCREMENT = (SELECT COUNT(*) FROM Movies2.Persons);