这是我的查询 -
$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
但是当我直接在数据库中运行查询时,我没有收到任何错误。 请帮帮我!
答案 0 :(得分:3)
来自php docu的'mysql_query'
mysql_query()向当前活动的数据库发送唯一查询(不支持多个查询) ...
所以基本上将你的查询分成多个调用`mysql_query',每个调用都有一个查询,你应该没问题。