因此,事实证明Codeigniter一次只能执行1个以上的SQL语句。
在此过程中,这是使用$('#details')
.stop()//stop all running animations
.animate(//start a new animation
{height:'50px',
marginTop:'350px'}, 600, 'easeInOutBounce'
);
和trans_start
函数,但是,这不适用于创建临时表。
trans_complete
以上代码生成以下错误:
$this->db->trans_start();
$this->db->query( 'CREATE TEMPORARY TABLE tmptable_1;');
$this->db->query( 'SELECT * FROM banner_data WHERE id = '.$id.';');
$this->db->query( 'UPDATE tmptable_1 SET id = NULL;');
$this->db->query( 'INSERT INTO banner_data SELECT * FROM tmptable_1;');
$this->db->query( 'DROP TEMPORARY TABLE IF EXISTS tmptable_1;');
$this->db->trans_complete();
有没有办法一次执行整个SQL块?
答案 0 :(得分:2)
错误简单地指出你。
表格必须包含至少1列
所以create Query应该是这样的。 (提供将存储数据的所有表列名称)
SQL CREATE TABLE语法
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
<强> 实施例 强>
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
答案 1 :(得分:0)
我找到了解决这个问题的方法:
$this->db->trans_start();
$this->db->query( 'CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM banner_data WHERE id = '.$id.';');
$this->db->query( 'UPDATE tmptable_1 SET id = NULL;');
$this->db->query( 'INSERT INTO banner_data SELECT * FROM tmptable_1;');
$this->db->query( 'DROP TEMPORARY TABLE IF EXISTS tmptable_1;');
$this->db->trans_complete();
通过合并原始的前两行,数据库根据要复制的表的结构构建表列。