SQL - 选择行号为XX的表

时间:2012-01-16 18:21:30

标签: mysql sql

现在在Google上搜索了一段时间没有找到问题的答案。我有10个表,其中5个包含150行。我想在这5个表中添加15行,有什么简单的解决方案吗?我知道手动添加行很容易,但无论如何我想知道。我正在寻找的是这样的:

INSERT INTO all_tables VALUES (col1, col2, col3) WHERE row_number() = '150'

有可能吗?提前谢谢!

2 个答案:

答案 0 :(得分:4)

您一次只能将更新定位到一个表,必须始终按名称指定。此外,您不能在INSERT上指定WHERE子句。你最好的选择可能是编写一个INSERT并复制并粘贴其余部分。

答案 1 :(得分:1)

你可以:

  1. 循环显示相关表名列表。
  2. 针对相关表运行select count(*) into @c1 from SpecifiedTable之类的动态查询,将计数返回到声明的变量中。
  3. 如果返回的值为150,则运行另一个动态查询以将相关值插入指定的表中。
  4. 您可以在MySQL here中找到有关动态查询和返回值的更多信息。如果这是一次性的,您可能会发现手动操作更容易。