首页 文章

mysql insert - 选择语法错误

提问于
浏览
0

这是我的查询 -

$q = "CREATE TEMPORARY TABLE tmp SELECT * from category c  WHERE category_id IN (SELECT category_id FROM category_to_store WHERE store_id = '".(int)$from_store_id."');
                ALTER TABLE tmp drop category_id; 
                INSERT INTO category SELECT 0,tmp.* FROM tmp;
                SET @last_id_in_category := LAST_INSERT_ID();
                select @last_id_in_category;
                DROP TABLE tmp;"

mysql_query($q);

我在执行时收到此错误

错误:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在'ALTER TABLE tmp drop category_id附近使用正确的语法; INSERT INTO类别SELECT 0'在第2行错误号:1064

但是当我直接在数据库中运行查询时,我没有收到任何错误 . 请帮我 !

1 回答

  • 3

    来自`mysql_query'的php docu


    mysql_query()将 unique query (multiple queries are not supported) 发送到当前活动的数据库...


    所以基本上将查询分成多个调用`mysql_query',每个调用一个查询,你应该没问题 .

相关问题