在 mysql 中制作全局自动递增数字的最简单方法
Simplest way to make a global, auto-incrementing number in mysql
我基本上想在我的 mysql 数据库中创建一个 'global variable'。
所以我有一个包含两个字段的 table:
ID
GlobalNumber
我正在做这个讽刺:
UPDATE that_table SET GlobalNumber=GlobalNumber+1 WHERE ID=whatever
SELECT GlobalNumber FROM that_table WHERE ID=whatever;
但我确信有一种方法可以用一条语句来做到这一点。我尝试的任何事情都会给我一个语法错误。
如何在一行中完成整个操作?
update
和 select
语句不能 运行 在一起。
update
和 select
语句都是两种不同类型的 DML(数据操作语言),不能组合在一起。
但是,您可以有选择地更新一些可以使用嵌套查询的元组。
像这样:
update that_table
set global_variable = global_variable + 1
where ID IN(Select ID from another_table);
我基本上想在我的 mysql 数据库中创建一个 'global variable'。
所以我有一个包含两个字段的 table:
ID
GlobalNumber
我正在做这个讽刺:
UPDATE that_table SET GlobalNumber=GlobalNumber+1 WHERE ID=whatever
SELECT GlobalNumber FROM that_table WHERE ID=whatever;
但我确信有一种方法可以用一条语句来做到这一点。我尝试的任何事情都会给我一个语法错误。
如何在一行中完成整个操作?
update
和 select
语句不能 运行 在一起。
update
和 select
语句都是两种不同类型的 DML(数据操作语言),不能组合在一起。
但是,您可以有选择地更新一些可以使用嵌套查询的元组。
像这样:
update that_table
set global_variable = global_variable + 1
where ID IN(Select ID from another_table);