小编ica*_*ara的帖子

SQL-根据列值删除所有表中的行

我有一个包含数百个表的 MySQL 数据库。

我需要删除基于名为“companyId”的公共列的所有表中的记录 - 该列存在于数据库的所有表中。

如何删除所有表中 columnId = somenumber 的所有记录?

先感谢您 !

伊万诺 C.

@SocratesG我尝试了你的存储过程,但我得到以下创建SP的信息:

ERROR 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '@TableName VARCHAR(128); 附近使用的正确语法。

DECLARE @MyColumn VARCHAR(128);
SET @MyColumn = 'compan' at line 4

SQL Statement:
CREATE PROCEDURE `deletePortalInstance` ()

BEGIN

    DECLARE @TableName VARCHAR(128);
    DECLARE @MyColumn VARCHAR(128);

    SET @MyColumn = 'companyId'

    DECLARE MyCursor CURSOR FOR
        (SELECT OBJECT_NAME(c.id) AS ObjectName 
        FROM dbo.syscolumns c 
        WHERE OBJECTPROPERTY(c.id,'ISTABLE') = 1 --Search for tables only
        AND c.name = @MyColumn)

    OPEN MyCursor 
    FETCH NEXT FROM …
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-delete

5
推荐指数
1
解决办法
9165
查看次数

标签 统计

mysql ×1

sql ×1

sql-delete ×1