我有一个包含数百个表的 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)