2016-04-25 138 views
-3

每次我尝试在我的SQL数据库中创建表的时间我不断收到此错误:MySQL的1064错误语法错误

错误查询(1064):语法错误附近的“CREATE TABLE IF NOT EXISTS usersid INT (10)NOT NULL AUTO_INCREMENT,`”第2行

我能得到一些帮助,这

use luke_f_db 
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT, 
`username` varchar(50) NOT NULL, 
`email` varchar(50) NOT NULL, 
`password` varchar(50) NOT NULL, 
`trn_date` datetime NOT NULL, 
PRIMARY KEY (`id`) 
); 
+0

'use luke_f_db'? 'mysqli_select_db()'还是足够的? –

+3

在'USE'之后抛出一个分号(或者确实,在查询之外执行,最好在连接语句中)。 – Quassnoi

+0

对于某些电子邮件地址,50个字符是不够的。除非你有一个非常有说服力的理由,否则对大多数领域使用'VARCHAR(255)',存储成本通常为零。 – tadman

回答

1

有你use命令是错误的添加;?第一线后面或只是检查数据库存在和你的帐户可以访问它。

CREATE代码适合我。

1

每个查询**只能运行一个命令。 mySQL命令行客户端允许您使用分割多个命令;但仍依次运行它们。

删除use luke_f_db一行。要在连接命令中选择要使用的数据库。请参阅http://www.w3schools.com/php/func_mysqli_connect.asp

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

数据库名称是mysqli_connect的最后一个参数。

将相同的信息PHP官方文档中找到:http://php.net/manual/en/mysqli.construct.php

**一些MySQL客户端实现还允许多个命令在一个电话,但你应该避免它。在脚本中使用此功能不可移植到其他数据库,并且如果发生错误,您将无法知道哪些命令触发了错误。

+0

请尽可能链接到PHP的官方文档。 – tadman

+0

在这种情况下,它不是那么明显:http://php.net/manual/en/function.mysqli-connect.php和http://php.net/manual/en/mysqli.construct.php – Sebastian

+0

这就是德语版本据我所知。 – tadman