Php SQL Server的ODBC驱动程序17附近的语法不正确。“”
我正在尝试使用php在MS SQL server management 17中创建表 我的问题是:Php SQL Server的ODBC驱动程序17附近的语法不正确。“”,php,sql,sql-server,odbc,Php,Sql,Sql Server,Odbc,我正在尝试使用php在MS SQL server management 17中创建表 我的问题是: $mid=$row['MASTER_ID']; echo $mid; $table_solution="CREATE TABLE Q_MASTERID_'$mid'_Solution(
$mid=$row['MASTER_ID'];
echo $mid;
$table_solution="CREATE TABLE Q_MASTERID_'$mid'_Solution(
MASTER_ID INT ,
PRODUCT_NAME varchar(255),
CUSTOMER_NAME varchar(255),
Q_TEMP_ID INT IDENTITY(1,1),
Q_DESC nvarchar(600) NULL,
Q_CATEGORY nvarchar(255) NULL,
Q_SUB_CATEGORY nvarchar(255) NULL,
SCOPE nvarchar(255) NULL
) ON PRIMARY";
$solution_alter="ALTER TABLE Q_MASTERID_'$mid'_Solution ADD Q_ID AS CONCAT ('A',CAST(Q_TEMP_ID AS VARCHAR(100)))PERSISTED" ;
$res=sqlsrv_query($con,$table_solution) or die("Couldn't execute create query".print_r(sqlsrv_errors(), true));
$res1=sqlsrv_query($con,$solution_alter) or die("Couldn't execute alter query");
我遇到以下错误:
无法执行create queryArray[0]=>Array[0]=>42000[SQLSTATE]=>42000[1]=>102[code]=>102[2]=>SQL Server的[Microsoft][ODBC驱动程序17][SQL Server]错误语法。[消息]=>[Microsoft][ODBC驱动程序17 for SQL Server][SQL Server]附近的语法不正确
如果我在createquery中删除$mid,我会得到以下错误
无法执行create queryArray[0]=>Array[0]=>42000[SQLSTATE]=>42000[1]=>156[code]=>156[2]=>[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]关键字“PRIMARY”附近的语法不正确。[消息]=>[Microsoft][ODBC驱动程序17 for SQL Server][SQL Server]关键字“PRIMARY”附近的语法不正确
我想在创建表时添加名为$mid的动态变量,创建表Q_MASTERID_u'$mid''解决方案
帮我解决这个问题…我想你是在尝试:
CREATE TABLE Q_MASTERID_Solution (
MASTER_ID INT ,
PRODUCT_NAME varchar(255),
CUSTOMER_NAME varchar(255),
Q_TEMP_ID INT IDENTITY(1,1),
Q_DESC nvarchar(600) NULL,
Q_CATEGORY nvarchar(255) NULL,
Q_SUB_CATEGORY nvarchar(255) NULL,
COPE nvarchar(255) NULL ,
Q_ID AS ( CONCAT('A', CAST(Q_TEMP_ID AS VARCHAR(100))) ) PERSISTED
) ON "default"
我看不出有什么理由包括ON default,因为如果没有指定,那就是默认的分区方案。如果确实指定了一个,则需要指定一个现有的
您可以在名称中包含q_id的定义
使用相同的模式创建多个表是一种非常糟糕的做法。相反,将MASTER_ID作为列包含在表中,并对每个MASTER ID进行筛选。$mid=$row['MASTER_ID']$table_solution=创建table Q_MASTERID_uuu'$mid''解决方案这就是我的问题所在,我想创建一个动态表,它的值来自$mid变量。@anupriya。不要这样做。向现有表中添加行,并在完成后将其删除。