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; 附近使用的正确语法;在第 2 行插入到类别 SELECT 0' 错误编号:1064

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

4

1 回答 1

3

来自`mysql_query' 上的php 文档


mysql_query() 向当前活动的数据库发送一个唯一查询(不支持多个查询) ...


因此,基本上将您的查询拆分为多次调用“mysql_query”,每次调用一次查询,您应该没问题。

于 2012-04-25T13:08:30.683 回答