我正在使用mysql
创建一个动态表,查询表名称应该是唯一的,这就是我为表名添加了用户ID的原因。
在控制器中:
$last_id = $this->User->getLastInsertID();
//$table_name = 'hello_'.$last_id.'_tutors';
// debug($table_name);
$this->User->query("CREATE TABLE IF NOT EXISTS `post_`.$last_id.`_tutors` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`user_id` int(8) NOT NULL,
`tutor_name` varchar(50) NOT NULL,
`tutor_email` varchar(50) NOT NULL,
`tutor_number` varchar(50) NOT NULL,
`tutor_gender` varchar(50) NOT NULL,
`tutor_address` varchar(100) NOT NULL,
`city_id` int(11) NOT NULL,
`area_id` int(11) NOT NULL,
`matric` varchar(200) NOT NULL,
`inter` varchar(200) NOT NULL,
`graduation` varchar(200) NOT NULL,
`masters` varchar(200) NOT NULL,
`diploma` varchar(200) NOT NULL,
`other_education` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=67 ;
");
它给出了语法错误,如:
语法错误或访问冲突:1064 SQL中有错误 句法;查看与MySQL服务器版本对应的手册 要在'.75附近使用正确的语法。
_tutors
(tutor_name
varchar(50)NOT NULL,第1行的tutor_email
var'
如果有人可以提供帮助。提前谢谢。
答案 0 :(得分:1)
尝试使用
$this->User->query("CREATE TABLE IF NOT EXISTS `post_".$last_id."_tutors` (