Rumah  >  Soal Jawab  >  teks badan

Selesaikan soalan sintaks mysql CREATE TABLE

Saya cuba mencipta jadual dalam mysql menggunakan arahan berikut:

CREATE TABLE keys (id INT(10), key VARCHAR(100));

Tetapi ia sentiasa memberi saya ralat yang serupa dengan ini:

Ralat 1064 (42000): Terdapat ralat dalam sintaks SQL anda semak manual untuk versi pelayan MySQL anda untuk digunakan berhampiran "kekunci (id INT(10), kekunci VARCHAR(100))" pada baris 1 Sintaks yang betul untuk `

P粉347804896P粉347804896424 hari yang lalu557

membalas semua(2)saya akan balas

  • P粉253518620

    P粉2535186202023-09-13 13:54:33

    Anda harus berhati-hati dalam menamakan jadual dan lajur kerana anda mungkin menghadapi banyak masalah pada masa hadapan.

    Saya syorkan mencari nama yang bukan MySQL reserved words.

    Jika anda masih mahu mengekalkan nama-nama ini, anda harus mengelilinginya dengan tanda belakang.

    mysql> CREATE TABLE keys (id INT(10), key VARCHAR(100));
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'keys (id INT(10), key VARCHAR(100))' at line 1
    
    mysql> CREATE TABLE `keys` (id INT(10), `key` VARCHAR(100));
    Query OK, 0 rows affected, 1 warning (0.97 sec)
    
    mysql> show create table keys;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'keys' at line 1
    mysql>
    mysql>
    mysql> show create table `keys`;
    +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table                                                                                                                                        |
    +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    | keys  | CREATE TABLE `keys` (
      `id` int DEFAULT NULL,
      `key` varchar(100) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
    +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.01 sec)

    Sila ambil perhatian bahawa anda mesti menggunakan tanda belakang apabila menggunakan jadual

    balas
    0
  • P粉649990163

    P粉6499901632023-09-13 13:29:28

    Jadi nama jadualkeys和字段key都是在Mysql命名空间中保留的。如果您选择一个不同的表名(例如keys_tbl)并将第二个字段重命名为key_id dan kod anda akan berfungsi dengan baik.

    balas
    0
  • Batalbalas