0

我想创建一个新表,但在某处出现语法错误。但是,无论我多久查看一次,我都看不到它在哪里。

谁能发现我的错误?

Dim cmdCreate As New MySqlCommand("CREATE TABLE inout (inout_seacher TEXT,inout_guid TEXT,inout_blob LONGBLOB,inout_inouttype INTEGER,inout_automaticallyparsed TINYINT(1)," & _
                                  "inout_price DOUBLE,inout_companyguid TEXT,inout_datetime TEXT,inout_title TEXT,inout_catid INTEGER,inout_vat INTEGER,inout_banktype INTEGER," & _
                                  "inout_banktransferprice DOUBLE,inout_expenseinvoiceexistsinguid TEXT,inout_orderguid TEXT,inout_inoutsubtype INTEGER,inout_outinvoicetype INTEGER)", g_CnWebDB)

感谢您的帮助!

4

3 回答 3

0

厄运。信不信由你,'inout' 是 MySQL 中的保留字。要么用反引号(`)包装它,要么(更好)把它叫做别的东西。另外,您确定要 DOUBLE 而不是 DECIMAL?

于 2013-06-14T16:03:46.627 回答
0

“inout”是保留字。尝试其他名称的表。您还可以使用 ( ), so (inout`) 引用表的名称变得可以接受。

于 2013-06-14T16:04:43.307 回答
0

正如草莓已经说过的,是用于程序的保留字;直接来自 MySQL.com:

从 MySQL 5.0.30 开始,可以不带括号调用不带参数的存储过程。也就是说,CALL p() 和 CALL p 是等价的。

CALL 可以使用声明为 OUT 或INOUT参数的参数将值传回给它的调用者。当过程返回时,客户端程序还可以获得在例程中执行的最终语句受影响的行数: 在 SQL 级别,调用 ROW_COUNT() 函数;从 C API 调用 mysql_affected_rows() 函数。

于 2013-06-14T16:05:40.883 回答