我有一个脚本 xxx.sql用来创建数据库和表和插入部分数据的,之前一直用mysql_front导入,现在不能用这个工具能不能用命令行执行xxx.sql

解决方案 »

  1.   

    mysql -u -p <xxx.sql
      

  2.   

    我用了1楼的方法 但是不行  请大家看看
    mysql.exe -u%SQL_USER% -p%SQL_PWD%  < c:\kdv500.sqlERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '锘縞reate database if not exists kdv500' at line 1kdv500.sql前几句是这样的create database if not exists kdv500;
    use kdv500;
    DROP TABLE IF EXISTS `smalarmmap`;
    CREATE TABLE `smalarmmap` (
      `MapID` int(11) NOT NULL auto_increment,
      `KdvAlarmCode` int(11) NOT NULL,
      `KdmAlarmCode` int(11) NOT NULL,
      PRIMARY KEY  (`MapID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      

  3.   

    检查kdv500.sql文件内容  锘縞?
      

  4.   

    现在创建数据库可以了 但 创建存储过程不行  插入数据不行我发现只要改那个脚本一点点都不行  哪怕删一行另这个脚本我怎么改 在mysql_front都可以执行的
      

  5.   

    貌似 这段有问题  这段删了就可以了  大家帮我看看这个存储过程#
    # Source for procedure sm_proc_addperformanceinfo
    #DROP PROCEDURE IF EXISTS `sm_proc_addperformanceinfo`;
    CREATE PROCEDURE `sm_proc_addperformanceinfo`(
        PfmInfoID INTEGER,
        KdmID VARCHAR(37),
        DevMac VARCHAR(16),
        CpuRate INTEGER,
        LoseRate INTEGER,
        Memory INTEGER,
        MtNum INTEGER,
        ConfNum INTEGER,
        EqpRate BLOB,
        AuthRate INTEGER,
        MachTemper INTEGER,
        PfmTime INTEGER)
    begin
        INSERT INTO smtbperformanceinfo VALUES(NULL, KdmID, DevMac, CpuRate, LoseRate, Memory, MtNum, ConfNum, EqpRate, AuthRate, MachTemper, PfmTime);
    SELECT last_insert_id();
    end;
      

  6.   

    delimiter $$
    DROP PROCEDURE IF EXISTS `sm_proc_addperformanceinfo`$$
    CREATE PROCEDURE `sm_proc_addperformanceinfo`(
       PfmInfoID INTEGER,
       KdmID VARCHAR(37),
       DevMac VARCHAR(16),
       CpuRate INTEGER,
       LoseRate INTEGER,
       Memory INTEGER,
       MtNum INTEGER,
       ConfNum INTEGER,
       EqpRate BLOB,
       AuthRate INTEGER,
       MachTemper INTEGER,
       PfmTime INTEGER)
    begin
       INSERT INTO smtbperformanceinfo VALUES(NULL, KdmID, DevMac, CpuRate, LoseRate, Memory, MtNum, ConfNum, EqpRate, AuthRate, MachTemper, PfmTime);
     SELECT last_insert_id();
    end; $$
    delimiter ;
      

  7.   

    修改你的SP代码,你将上述代码 COPY到MYSQL中运行一下就知道了
      

  8.   

    MYSQL中语句结束符为;在SP中,修改结束符
      

  9.   

    好像还是不对 按照下面代码执行的 没有报错 但是从mysql_front进去看 存储过程为空 #
    # Source for procedure sm_proc_addperformanceinfo
    #
    delimiter $$
    DROP PROCEDURE IF EXISTS `sm_proc_addperformanceinfo`$$
    CREATE PROCEDURE `sm_proc_addperformanceinfo`(
      PfmInfoID INTEGER,
      KdmID VARCHAR(37),
      DevMac VARCHAR(16),
      CpuRate INTEGER,
      LoseRate INTEGER,
      Memory INTEGER,
      MtNum INTEGER,
      ConfNum INTEGER,
      EqpRate BLOB,
      AuthRate INTEGER,
      MachTemper INTEGER,
      PfmTime INTEGER)
    begin
      INSERT INTO smtbperformanceinfo VALUES(NULL, KdmID, DevMac, CpuRate, LoseRate, Memory, MtNum, ConfNum, EqpRate, AuthRate, MachTemper, PfmTime);
     SELECT last_insert_id();
    end; $$
    delimiter ;INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (16,1000,20000);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (17,1001,20001);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (18,1002,20002);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (20,2101,20003);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (21,2102,20004);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (23,2201,20005);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (24,2414,20006);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (25,2401,20008);
    INSERT INTO `smalarmmap` (`MapID`,`KdvAlarmCode`,`KdmAlarmCode`) VALUES (26,2402,20009);
      

  10.   

    在MYSQL命令行下
    CALL `sm_proc_addperformanceinfo`
    提示什么
      

  11.   

    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql.exe  -uroot -p123456
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 48 to server version: 5.0.11-beta-ntType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> CALL `sm_proc_addperformanceinfo`
        ->
        ->没说啥啊
      

  12.   

    在MYSQL命令行下
    CALL `sm_proc_addperformanceinfo`;
    加上分号
      

  13.   

        ->     ->CALL `sm_proc_addperformanceinfo`;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
    Your MySQL connection id is 48 to server version: 5.0.11-beta-nt
    Type 'help;' ' at line 1
      

  14.   

    也就是说sm_proc_addperformanceinfo是创建成功的
      

  15.   

    那为啥用这个 在myfront中执行说错误??