$sql="CREATE TABLE ".config_table." (
name VARCHAR( 18 ) NOT NULL,
keywords VARCHAR( 30 ) NOT NULL,
des VARCHAR( 50 ) NOT NULL,
notallow VARCHAR( 5000 )
);
CREATE TABLE ".type_bable." (
name VARCHAR( 18 ) NOT NULL
 )
"; 我想一个query创建两个表呢,这样写不对吗?

解决方案 »

  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 'CREATE TABLE type_bable ( name VARCHAR( 18 ) NOT NULL )' at line 7这是错误信息
      

  2.   

    echo $sql看一下内容是什么?
      

  3.   

    $sql="CREATE TABLE ".$config_table." ( 
    name VARCHAR( 18 ) NOT NULL, 
    keywords VARCHAR( 30 ) NOT NULL, 
    des VARCHAR( 50 ) NOT NULL, 
    notallow VARCHAR( 5000 ) 
    ); 
      

  4.   

    是的,在php中不对!
    这并不表示你的代码有错,而是php为了防治SQL攻击而采取的保护措施——不允许同时执行一句以上的SQL指令
      

  5.   

    偶建设的语句。我没有用语句直接创建过 但是貌似你的varchar 太大了不能超过255个 5000个显然不合理 直接用个textCREATE TABLE `t_series` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `Name` varchar(255) DEFAULT NULL,
      `BrandId` bigint(12) DEFAULT NULL,
      `created` datetime DEFAULT NULL,
      `updated` datetime DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;