【问题标题】:SQL Server to MySql conversion - sysobjectsSQL Server 到 MySql 的转换 - sysobjects
【发布时间】:2013-02-12 14:45:03
【问题描述】:

我正在尝试将以下 SQL Server 代码转换为 MySql...

  SELECT 
        columns  = COALESCE(columns + ',', '') + Cast(sc.name AS char(64))
  FROM 
        sysColumns sc 
  INNER JOIN 
        sysObjects so ON sc.ID = so.ID
  WHERE 
        so.type = 'u'; AND 
        so.name = tableName;

此转换是否有任何工具或参考链接?

我发现我可以将all_source 用于sysObjects,但不确定sysColumnstableName 使用什么。

有什么建议吗?

【问题讨论】:

    标签: mysql sql-server mysql-workbench


    【解决方案1】:

    SQL Fiddle

    MySQL 5.5.30 架构设置

    CREATE TABLE IF NOT EXISTS `category` (
      `id` int(11) NOT NULL,
      `parent_id` int(11) NOT NULL,
      `label` varchar(20) NOT NULL,
      `level` int(11) NOT NULL,
      `path` varchar(100) NOT NULL,
      `sortorder` int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    

    查询 1

    SELECT t.table_name,
      group_concat( c.column_name ORDER BY c.ordinal_position ) AS columns
    FROM information_schema.tables t
      JOIN  information_schema.columns c ON t.table_name = c.table_name
    WHERE t.table_name = 'category'
    GROUP BY t.table_name
    

    Results

    | TABLE_NAME |                                 COLUMNS |
    --------------------------------------------------------
    |   category | id,parent_id,label,level,path,sortorder |
    

    【讨论】:

    • 嗨,谢谢,我会试试这段代码 如何将下面的 MsSal 代码更改为 MySql IF (SELECT OBJECTPROPERTY(OBJECT_ID(@tableName), 'TableHasIdentity')) = 1 -- Has identity column SET @sql = 'SET IDENTITY_INSERT '+@tableName+' ON ' + @sql_insert ELSE SET @sql = @sql_insert 是否有任何方法或 url 可以参考 MySql 中的 MsSql 等效函数
    • @trip,我还没准备好回答你,发个问题让更多人看到
    猜你喜欢
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多